C语言:有以下定义语句 double a,b; int w; long c;若个变量已经正确赋值,则下列选项中不正确的表达式是()A) a=a+b=b++B) w%(int)(a+b)C) (c+w)%(int)aD w=a==b
问题描述:
C语言:有以下定义语句 double a,b; int w; long c;
若个变量已经正确赋值,则下列选项中不正确的表达式是()
A) a=a+b=b++
B) w%(int)(a+b)
C) (c+w)%(int)a
D w=a==b
答
呵呵,这个问题很简单
A选项,涉及到运算符优先级问题.首先b++,运算,然后再a+b,再将b++赋值给一个常量(a+b)明显是错误的了.
D首先判断a是否等于b,如果成立则将1赋值给w,否则将0赋值w