Ich mache ein Programm, wo Benutzer Noten (1 bis 5) eingeben und dann die Klasse Array für die spätere Überprüfung hinzugefügt wird. Wenn der Benutzer den Buchstaben "s" eingibt, wird das Programm geschlossen. Wenn mein Programm abstürzt, warum? C Konvertieren von Zeichenfolge in Ganzzahl mit Arrays
#include <stdio.h>
#include <stdlib.h>
int i;
int grade[50];
char *num[20];
int enter();
int enter()
{
for (i=0; i<10; i++) {
printf("\nEnter grade:\nPress [s] to close program\n");
scanf("%s",&num[i]);
if (strcmp(num[i],"s") == 0) {
break;
} else {
grade[i] = atoi(num[i]);
}
}
}
int main()
{
enter();
for (i=0; i<10; i++) {
printf("\n%d",grade[i]);
}
return 0;
}
lesen Char-Array und Zeichenfolgen in C erneut. –
Warum nicht Array von ganzen Zahlen machen? Und Sie sollten das Array initialisieren, weil Sie die 10 Werte unabhängig davon drucken, ob sie in der Enter-Methode hinzugefügt werden. –
Was ist, wenn der Benutzer (wir können Benutzern nicht vertrauen, können wir ????) "S" oder "q" eingeben "Ausfahrt"? :-) – pmg