#include <stdio.h>
main()
{
int x = 1, y = 0, z = 5;
int a = x && y || z++;
printf("%d", z);
}
此代码给我输出:6C编程增量逻辑错误
#include <stdio.h>
main()
{
int x = 1, y = 0, z = 5;
int a = x && y && z++;
printf("%d", z);
}
此代码给我输出:5
为什么第二程序给出输出中为5即使z为递增相同像第一个程序一样?
“||”和“|”之间的区别 与上面相同,在“||”的情况下,只执行一个语句,如果返回“true”,则其他语句不会执行。但是,如果第一个是错误的,那么将检查其他值是否为“真”。原因是“或”运营商的工作方式。 “或”运算符仅依赖于一个真实的,换句话说,如果任何表达式都为真,那么结果将为真。 –
https://www.codeproject.com/Articles/662248/Difference-between-and-and –