不是啊
i*j确实是6,但后面还有个==6,也就是判断结果是否等于6,结果是真,真在计算机里就是1
k = i * j == 6
相当于
if (i * j == 6)
k = 1;
else
k = 0;
所以是1
主要考察运算符优先级问题
【以下回答由 GPT 生成】
这段代码输出的是1而不是6的原因是因为等号(==)的优先级高于乘法运算符。所以先进行i * j
的乘法运算,得到结果6。然后再将6与6进行相等比较,返回结果为真,即1。
具体的解释如下:
i * j
,得到结果6。6 == 6
。由于6等于6,判断为真。为了得到想要的结果6,可以修改代码如下:
int i = 2;
int j = 3;
int k = (i * j);
printf("%d", k);
在这个修改后的代码中,我去掉了等号(==),直接将乘法运算的结果赋值给变量k,然后输出k的值。这样就能得到6作为输出结果了。
希望我对你的问题有所帮助。如果你还有其他问题,可以继续提问。
【相关推荐】
K的结果是后面表达式为真还是为假