我在理解以下这段简单的C语言for循环代码时遇到了一些困难。
为什么它不以
我有什么遗漏吗?
int j=20;
for(int i=0, j; i<=j ; i++, j--)
printf("i = %d and j = %d \n",i,j);
将输出打印为
i=0 and j=2
i=1 and j=1
为什么它不以
j=20
开始,而是打印出 j=2
并在 j=1
后停止。
但是当我使用这段代码时
int j=20;
for(int i=0, j=20; i<=j ; i++, j--)
printf("i = %d and j = %d \n",i,j);
它可以通过以下方式正确启动
i=0 and j=20 upto ... i=9 and j= 11
我有什么遗漏吗?
j
没有初始化。 - chris