循环条件为不进入循环 新手求解
代码如下
#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循环所以不执行.