【发布时间】:2013-05-28 18:18:22
【问题描述】:
在第 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;
}
【问题讨论】:
-
printf("is int is %d\n",isint) 的输出是什么?
-
请提供您的场景的控制台输出。