结果a,b,c 都等于1.
以下是引用福尔摩斯在2007-4-4 20:34:04的发言:
#include "stdio.h"
main()
{
int a=5,b=6,c=1,x=2,y=3,z=4;
c=(a=c>x)&&(b=y>z);
printf("%d,%d,%d",a,b,c);
}
knocker(老K)果然是大虾。。。我验证过了。果然是那样。。。本论坛 knocker(老K)的回答是:&&操作符只有当其前面的表达式不为0时才执行后面的表达式
||这样的话前面正确就不执行后面
#include "stdio.h"
main()
{
int a=5,b=6,c=1,x=2,y=3,z=4;
c=(a=c>x)&&(b=y>z);
printf("%d,%d,%d",a,b,c);
}

在次谢谢 福尔摩斯 和 老K。。特别是福尔摩斯的热心帮助。。。