结果为什么会是 truefalse ,而不是 false ?第一个printf不是在if语句里的嘛?
注意,if里是x=0x18,不是x==0x18,赋值符(=)的返回值就是true,所以他会执行if内的程序
(求采纳)
因为 if (x = 0x18) ,x = 0x18 是赋值语句,此时 x 的值不为0,即if(x) 为真,所以会执行 printf("true");输出 true 。
接着,执行 printf("false"); 输出 false 。
所以,最后的结果是:truefalse
因为 if (x = 0x18)这条语句中的x = 0x18并不是判断,而是赋值,if (x = 0x18)永远为真,所以会输出true,接着执行printf("false"); 因此这个结果是truefalse
按照代码顺序打印