私は、ユーザーがグレード(1〜5)を入力し、後で検査するためにグレードが配列に追加されるプログラムを作成しています。ユーザーが文字「s」を入力すると、プログラムは終了します。私のプログラムが失敗したとき、なぜですか?C配列を使用して文字列を整数に変換する
#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;
}
char配列とCの文字列をもう一度読み込みます。 –
なぜ整数の配列を作るのですか?そして、あなたがEnterメソッドで追加されているかどうかにかかわらず10個の値を印刷するので、配列を初期化する必要があります –
ユーザ(私たちはユーザを信じることはできません)は "S"か "q" "出口"? :-) – pmg