#include"stdio.h"
void main()
{
int a,b,c;
a=b=c=0;
++a||++b&&++c;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
a=b=c=0;
++a&&++b||++c;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
a=b=c=0;
++a&&++b&&++c;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
a=b=c=-1;
++a&&++b&&++c;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
a=b=c=-1;
++a&&++b||++c;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
a=b=c=-1;
++a||++b&&++c;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
getch();
}
參考答案:++a意思是先将a的值加一再利用加一后的值 当a=b=c=0时++后abc的值都为1 不论逻辑号是什么结果都是1 所以一定会执行到后边的printf语句.当a=b=c=-1时++后值为0 同样不论逻辑号是什么结果都是0 即一定不会执行到printf语句至于最后的"getch()"看不出什么意思 感觉没用啊 也许是太深奥了