请教一下大家~~
s1e14的一课后题,输入数值和字符时,情况是正常的。但回车,或TAB键,程序会卡着不动,请教一下为什么会卡一下?还有为什么输入0也会退出。 我感觉死循环了 楼主试试这个代码,只要不能从键盘输入中提取到整型数就会立即结束循环。#include <stdio.h>
main(void)
{
int k ;
char s ;
for(;;) {
fgets(s , 82 , stdin) ;
if (sscanf(s , "%d" , & k) == 1) printf("%d\n" , k) ;
else break ;
}
printf("\n") ;
} 是因为tab和回车呗scanf认为是空白符跳过去了。所以等着你输入。
#include <stdio.h>
int main()
{
int c,i,num=0,flag;
do{
printf("请输入一个整数:");
flag=scanf("%d",&i);
}
while((flag==1)&&(num=num+i));
printf("%d",num);
return 0;
}
页:
[1]