注册 登录
编程论坛 C语言论坛

这题是不是打印错误。

c鳌白 发布于 2019-11-27 16:59, 1833 次点击
只有本站会员才能查看附件,请 登录

后面也没有打印m的值,为甚么m=1,谁来解释一下
6 回复
#2
自学的数学2019-11-27 21:19
为试过,如果:
printf("x=%d,y=%d,z=%d\n",x,y,z,m,m+1,m+2,m+3);是这样呢,在用DEV C++编译的时候,是正常的。编译不会发生错误,但是运行的时候,只能产生x y z 的值,即:x=3,y=3,z=2.至于后面的m,m+1,m+2,m+3是不会输出的。
#3
bcbbcclbbc2019-11-28 10:58
题目应该出现问题了A,B,C,D选项问的是xyz的值,至于m的值是多少,求解应该不难。
#4
男儿本色2020-01-11 11:13
m是用来判断对错的,&&是表示“逻辑与”,||表示“逻辑或”。
(表达式1)&&(表达式2),根据语法规则只要表达式1的值为假(0),则不论表达式2的值如何(表达式1)&&(表达式2)的计算结果就为假(0)。
0表示假,1表示真。
#5
ljj8866222020-01-21 17:17
如果:printf("x=%d,y=%d,z=%d\n",x,y,z,m,m+1,m+2,m+3)运行的时候,x=3,y=3,z=2.至于后面的m,m+1,m+2,m+3是不会输出的。
#6
lijingui20102020-01-30 15:57
这是运算符的优先级问题了,= 的优先级低
n=++a&&++b||++c;
相当于
n=(++a&&++b||++c);
会先计算 ++a&&++b||++c, 得到值再赋值给n
注:工作中不要写这样的代码!!!!
#7
叶纤2020-01-30 17:48

咋没人讨论为啥++z=2
1