为什么下面这个结果输出的是10而不是00啊?b做完判断以后不应该减一吗?
void main()
{
int a = -1, b = 1;
((++a < 0) && (b-- <= 0));
printf("%d%d\n", b, a);
}
而在前面加个!结果就是00了,不懂为什么加在a前面,会影响b的值。
void main()
{
int a = -1, b = 1;
(!(++a < 0) && (b-- <= 0));
printf("%d%d\n", b, a);
}
求知道的人指点一下,谢谢。
((++a < 0) && (b-- <= 0)); ++a<0执行为false,后面的(b-- <= 0)就不会执行了,所以执行完这行代码,b=1,a=0。同理加了!号,前面为true,后面就会执行。你还需要好好看下C语言的基础,底子太薄了。