在数组学习中发现的一个问题
各位好,在学习数组中发现一个问题。下面实现给数组赋值,并打印出结果。 如下代码
#include <stdio.h>
#include<stdlib.h>
void main()
{
int i, a[10];
for (i = 0; i <= 9; )
{
a[i++] =2* i+1;
printf("%d \t", a[i]); // 打印出来全是垃圾数值
}
getchar();
for (i = 9; i >= 0; i--)
{
printf("%d \t", a[i]); // 这次打印的都是正确的数值 a[i]=2*i+1
}
printf("\n %d \t %d", a[5], a[7]);
system("pause");
}
为什么第一次打印都是垃圾值呢,在这里a[i++]=2*i+1 执行顺序到底是怎样的?
还望各位予以指导。
多谢!