5 行目で整数を読み取り、整数を読み取るisint
場合は 1 を取得し、整数でない場合は 0 を取得します。が 0 の場合isint
、ユーザーに整数を与えるように求めるループがあり、ユーザーが整数を与えるまで読み取ります。整数の代わりに文字を指定してこのコードを試してみましたが、無限ループが発生しました。プログラムは、新しい入力を待つだけではありません。コードの何が問題になっていますか?
#include <stdio.h>
int main(void) {
int arg1;
//int arg2;
int attacknum = 1;
int isint = 1;
//printf("Insert argument attacks and press 0 when you have done this.\n");
printf("Attack %d\n", attacknum);
attacknum++;
printf("Give attacking argument:");
isint = scanf("%d", &arg1); //line 5
while(isint == 0){
printf("You did not enter a number. Please enter an argument's number\n");
isint = scanf("%d", &arg1);
printf("is int is %d\n", isint);
}
return 0;
}