Veröffentlicht 18. August 200520 j Hallo, wie kann ich mit atoi einzelne Feldwerte zu einem Integer umwandeln ? Folgedes Beispiel: char c[2]; int loesung; printf("\nZahl 1:"); scanf("\n%c",&c[0]); printf("Zahl 2:"); scanf("\n%c",&c[1]); printf("Zahl 3:"); scanf("\n%c",&c[2]); loesung=atoi(c[1]); --> das scheint nicht zu gehen Gruß Michael
18. August 200520 j loesung=atoi(c[1]); --> das scheint nicht zu gehen c[1] ist ein char und kein C-String. atoi() wandelt aber C-Strings in Zahlen um, daher funktioniert es nicht. Wenn die Buchstaben im Array in ASCII-Notation sind, dann subtrahiere einfach den Zahlenwert von '0' und schreib das Ergebnis in ein int. Also: loesung = c[1] - '0'; Aber Achtung! Je nach Zeichensatz und Character-Map kann es auch fehlschlagen! Also nur als Work-Around benutzen! Alternativ verwendet doch gleich scanf() mit dem %d Type Character und schreib das Ergebnis in Dein int.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.