读书人

循环条件替不进入循环 新手求解

发布时间: 2013-09-05 16:02:06 作者: rapoo

循环条件为不进入循环 新手求解
代码如下


#include<stdio.h>
int main(void)
{
int num;
int xh =1;

while (scanf ("%d\n",&num),xh == 0)
{
printf(" yes , enter cycle!\n");
}

printf("no Cycle\n",num);
return 0;
}




下面是输入 及输出 的情况
情况一


leo@leo-NFORCE6M-A:~$ cd 桌面
leo@leo-NFORCE6M-A:~/桌面$ gcc cc.c -o cc
leo@leo-NFORCE6M-A:~/桌面$ ./cc
20
10
no Cycle
leo@leo-NFORCE6M-A:~/桌面$


情况二

leo@leo-NFORCE6M-A:~/桌面$ ./cc
a
no Cycle
leo@leo-NFORCE6M-A:~/桌面$


问题是 , 为什么我输入一个数字 按ENTER按键,还得再 输入一个数字 才能出现结果?

为什么我输入一个字母 就能出现结果?



[解决办法]
while (scanf ("%d\n",&num),xh == 0)
while 里面是逗号表达式, scanf返回值一般为你的输入值个数,xh为1,整个逗号表达式的结果为xh,即1, 1不等于0,所以为假.while循环所以不执行.

读书人网 >C++

热点推荐