C语言问题
#include <stdio.h>
main()
{
int a=1,b=2,c=4;
(c=a!=b)&&(a==b)&&(c=b);
printf("%d,%d\n",c,b);
}
运行结果是C=1 这是为什么呢?为什么会是1???
参考答案:呵呵,这个我会。
首先计算c=a!=b,a!=b所以将1给c ,c=1
然后计算a==b,为0
1&&0=0,然后下一步是进行&&运算,
由于0进行&&运算,就不向下进行与运算了。所以c=b没有进行。
所以结果是c=1
#include <stdio.h>
main()
{
int a=1,b=2,c=4;
(c=a!=b)&&(a==b)&&(c=b);
printf("%d,%d\n",c,b);
}
运行结果是C=1 这是为什么呢?为什么会是1???
参考答案:呵呵,这个我会。
首先计算c=a!=b,a!=b所以将1给c ,c=1
然后计算a==b,为0
1&&0=0,然后下一步是进行&&运算,
由于0进行&&运算,就不向下进行与运算了。所以c=b没有进行。
所以结果是c=1