在第5行中,我讀取整數並且isint
在讀取整數時獲取1,如果不是整數則爲0。如果isint
是0我有一個循環要求用戶給一個整數,我讀直到用戶給出一個整數。我嘗試給出一個字符而不是一個整數的代碼,但我有一個無限循環。該程序只是不等待給一個新的輸入。我的代碼有什麼問題?爲什麼scanf在無效輸入中陷入無限循環?
#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)的輸出是什麼? – Xonar
請提供您場景的控制檯輸出。 – zsawyer