作业帮 > 综合 > 作业

{int a=10,b=20,c=30,d; d=++a=20||c++; printf("%d,%d,%d,%d,\n

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/06 23:25:56
{int a=10,b=20,c=30,d; d=++a=20||c++; printf("%d,%d,%d,%d,\n",a,b,c,d);} 结果是11,19,30,1
为什么b为19,c为30?是因为后面c++没有参加运算吗?
求详解
{int a=10,b=20,c=30,d; d=++a=20||c++; printf(
重点在 d=++a=20||c++; 这句,里边是||运算符,从开始往后计算,碰到一个为真的表达式,后边的表达式就不计算了.
++a = 20 这个是先判断 b >=20的,判断了以后 再进行b-- 相当于 两句 b >=20;b--; 这个为真
所以后边c++没有运算.