Strings addieren?
-
sorry aber dieses *s sagt mir atm noch gar nix und kann damit auch recht wenig anfangen

-
int main() { char ean[13]; int i ; int sum=0; int code=0; gets(ean); printf("Dein eingegebener EAN Code ist %s\n",ean); for(i=0;i<13;i++) sum=sum+ean[i]; printf("%d",sum); system("PAUSE"); return 0; }Habs jetzt mal so aber die Summe gibt ein übelsten Müll raus

-
Szimo schrieb:
sorry aber dieses *s sagt mir atm noch gar nix und kann damit auch recht wenig anfangen
das ist ein 'char-pointer', der muss auf die anfangsadresse des strings zeigen. probier mal: printf ("%d\n", add_digits ("123456")); <-- sollte 26 rauskommen.

-
;fricky schrieb:
printf ("%d\n", add_digits ("123456")); <-- sollte 26 rauskommen.

26? Ja, in Bizarro-World vielleicht...

-
Deine Variante würde so modifiziert funktionieren:
for(i=0;i<13;i++) { if(ean[i]==0) break; sum=sum+(ean[i]-'0'); }Ist vielleicht verständlicher für dich als fricky's Variante. Aber früher oder später musst du dich mal mit Pointern (das böse
auseinandersetzen.
-
_matze schrieb:
;fricky schrieb:
printf ("%d\n", add_digits ("123456")); <-- sollte 26 rauskommen.

26? Ja, in Bizarro-World vielleicht...
nee, funzt. ich hab's gerade ausprobiert.

-
;fricky schrieb:
_matze schrieb:
;fricky schrieb:
printf ("%d\n", add_digits ("123456")); <-- sollte 26 rauskommen.

26? Ja, in Bizarro-World vielleicht...
nee, funzt. ich hab's gerade ausprobiert.

Er hat darauf angespielt, dass 1+2+3+4+5+6, nicht 26 sondern 21 sind.
-
;fricky schrieb:
_matze schrieb:
;fricky schrieb:
printf ("%d\n", add_digits ("123456")); <-- sollte 26 rauskommen.

26? Ja, in Bizarro-World vielleicht...
nee, funzt. ich hab's gerade ausprobiert.

Das bezweifle ich nicht, aber 1+2+3+4+5+6 = 21.

-
sunny31Bahadoorifar schrieb:
Er hat darauf angespielt, dass 1+2+3+4+5+6, nicht 26 sondern 21 sind.
aber fast.

-
;fricky schrieb:
sunny31Bahadoorifar schrieb:
Er hat darauf angespielt, dass 1+2+3+4+5+6, nicht 26 sondern 21 sind.
aber fast.

Na ja, meine Programme tun auch immer nur fast das, was sie sollen, insofern akzeptiere ich das mal so.
