#include<stdio.h>
int main()
{
int a=-2,b=0;
while(a++&&++b);
printf("%d,%d\n",a,b);
}
#include <stdio.h>
int main()
{
char c;
for(;(c=getchar())!='#';)
putchar(++c);
}
{
int a=-2,b=0;
while(a++&&++b);
printf("%d,%d\n",a,b);
}
#include <stdio.h>
int main()
{
char c;
for(;(c=getchar())!='#';)
putchar(++c);
}
while(a++&&++b);
第一次循环,a为-2,为真,执行++b后b为1,条件为真,继续循环,然后a加1为-1
第二次循环,a为-1,为真,执行++b后b为2,条件为真,继续巡回,然后a加1为0
第三次循环,a为0,为假,逻辑与的结果肯定为假,++b不执行,b还是2。while循环结束。然后a加1为1
最后a=1,b=2
首先a++是先用a当前值进行逻辑判断,然后a的值加1
其次,逻辑与左侧的表达式如果为假,右侧表达式将不执行