【发布时间】:2015-11-22 13:34:38
【问题描述】:
所以,这个程序在循环中接受三个值,一个 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在循环条件while(i!=99)中使用之前未初始化。 -
不仅
i可以未初始化使用,所有变量(count除外)都可以使用。这是因为scanf第一次调用可能会失败。