level 10
w15tp
楼主
如题,根据我刚刚发的那个提问贴,我突然想到/
在这个语句里
scanf("%d",&a) == 1
不就是把 scanf 的返回值 比较吗/。 当scanf 读入一个
正确的
数据,返回值 为1 并比较 ==1;
就会进入循环,为了验证,我就这样写。
#include<stdio.h>
int main(void)
{
int a;
int b;
while(b = scanf("%d",&a) == 1)
{
printf("b = %d; a = %d\n",b,a);
}
return 0;
}
然后发现 b 值 无论如何都 为 1 ; 于是我就怀疑 是 scanf("%d",&a) == 1
的副作用出现了。。 求解。。
2014年03月31日 03点03分
1
在这个语句里
scanf("%d",&a) == 1
不就是把 scanf 的返回值 比较吗/。 当scanf 读入一个
正确的
数据,返回值 为1 并比较 ==1;
就会进入循环,为了验证,我就这样写。
#include<stdio.h>
int main(void)
{
int a;
int b;
while(b = scanf("%d",&a) == 1)
{
printf("b = %d; a = %d\n",b,a);
}
return 0;
}
然后发现 b 值 无论如何都 为 1 ; 于是我就怀疑 是 scanf("%d",&a) == 1
的副作用出现了。。 求解。。