若已定义int a;则表达式a=11,a+1,a++的值是

这个题和下一题有什么区别
已定义int a;则执行表达式a=11,a+1,a++后a的值是

11
逗号优先级最低所以先赋值a=11
逗号是左结合运算符是,返回右边表达式的值,所以多个逗号返回最右边的值:a
因为中间的a 1并没有改变a的值
而 运算符返回a改变之前的值,
所以就是11
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-13
两个表达式的区别就是那个后字
相当于让你算 a++=和 (a++)= a++先用再加 所以第一个的结果是a 第二个的结果是a+1
第2个回答  2019-08-19
逗号表达式,vc是从左向右计算的,故首先a=10,然后a+10,然后a++,由于先返回a,a再自加。故表达式值仍为10。
第3个回答  2013-04-13
a=11
a+1 =12 a=11
a++ =11 a=12
理由,int a 是声明一个为int型变量
a=11 为赋值 得 a=11
a+1 为表达式,对a不造成任何影响
a++ 为a 自增,类似于 a=a+1=11+1=12
当然 a++=11是因为 这时候a还没有自增,先赋值再自增
所以最终 a 的值为 12本回答被提问者采纳
相似回答