#include<iostream>
using namespace std;
int main()
{
int i=1,j=1,k=2;
if((j++||k++)&&i++)
cout<<i<<','<<j','<<k;
return 0;
}
这个程序最终会输出“2,2,2”,那么它是怎么运行的呢?首先要明白if语句在判断数值时,0判断为false,非0判断为true,且if语句从左往右判断真假,以该程序为例,先判断j,j为1(j++是先提取后运算,即判断时为j,输出时为j+1),是true,因为是或,所以k就 不再判断,k++不执行,再判断i,i为1(与j的判断方法一样),所以整体条件为true,输出ijk,经过++的运算,最后输出”2,2,2“。