for循环后无{}

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的循环,只在判断执行一次后输出。

posted @ 2020-12-16 14:50  沐夏52Hz  阅读(330)  评论(0)    收藏  举报