在第 5 行中,我读取了一个整数,isint
如果读取的是整数,则为 1,如果不是整数,则为 0。如果isint
为 0,我有一个循环要求用户给出一个整数,然后我一直读到用户给出一个整数。我尝试这段代码给出一个字符而不是一个整数,但我有一个无限循环。该程序只是不等待提供新的输入。我的代码有什么问题?
#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;
}