已知"int a=4,b=5,c;";则执行表达式"c=a=a>b"后变量a的值0吗?
问题描述:
已知"int a=4,b=5,c;";则执行表达式"c=a=a>b"后变量a的值0吗?
答
用程序验证:
#include
void main()
{
int a=4,b=5,c;
c=a=a>b;
printf("%d\n",a);
}
输出0.
原因很简单:a>b是假,返回0.a和c先后被赋值0.