所以,這個程序接受三個值,一個int,一個float和一個char,同時在一個循環中。 當它要求用戶輸入整數並且他們寫入..讓我們說,「衆議院」程序陷入無限循環。在循環中獲取與預期值不同的值。爲什麼?
#include <stdio.h>
int main(void){
int i;
float f;
char c;
while(i!=99){
printf("Enter an int, a float and a char separated by commas: ");
int count = scanf("%d,%f,%c",&i,&f,&c);
printf("Int is: %d, Float is: %1.f, Char is: %c",i,f,c);
if (count != 2){
fflush(stdin);
printf("\nerror\n");
}
}
return 0;
}
'i'不循環條件使用它''同時初始化之前。 – haccks
不僅'i'可以用於初始化,而且可以用於所有變量('count'除外)。這是因爲第一次調用'scanf'可能會失敗。 – Olaf