int a,b,t; for(a=3,b=0; !a==b; a--,b++) if(a>b) { t = a; a = b; b = t; } printf("%d,%d\n", a,b);
输出结果为-1,4。 因为:若for语句后带多个表达式,但是没有{}包围,则for后面的第一个表达式属于for语句,其他语句则不属于for语句。 所以,if条件并没有进入for的循环,只在判断执行一次后输出。