这样的表达背后的概念是什么?
int x;
x=7||6;
答案 0 :(得分:3)
来自C11草案规范
6.5.14逻辑OR运算符
||如果任一操作数进行比较,则运算符应为1 不等于0;否则,它产生0.结果的类型为int。
因此在表达式x = 7||6;
中,||
产生1,因为至少有一个(实际上两个)操作数都不等于0。
答案 1 :(得分:0)
int x;
x=7||6; // it is true always .
您得到的输出1
是由于bool被提升为int
。你可以假设 -
true==1
答案 2 :(得分:0)
x = 7 || 6;
x = 7 "or" 6; //or can only apply to booleans
x = true or true; //Auto cast to booleans
x = true;
x = 1; //Auto cast to int
请在课堂上尽量少付一点......