3.6 小题目


1.代码2.输出3.分析4.补充


1.代码

#include <stdio.h>
int main()
{
int a = -2, b = 2;
for (; a++, b--;)
printf("%d,%d,", a, b);
return 0;
}

2.输出


-1,1,0,0,


3.分析


for (; a++, b- -; )


中间的 a++,b- - 是for循环的条件表达式 ,同时它又是逗号表达式,逗号表达式的值为b- -的值,则当b- -为0的时候(即b为0的时候)不满足条件表达式,跳出循环

4.补充

#include <stdio.h>
int main()
{
int a = -1, b = 1;
int c = (a++, b--);
printf("%d", c);
}

输出:

1

(b- - 是先使用b 再- -)