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.