int main(void)
{
int array[NUM] = {0, 1, 2, 3, 4};
int i = 0;
for (; i < NUM; i++)
printf("%d\t%d\n",array[0]+i,array[0]+1);
return 0;
}
运行结果:
0 1
1 1
2 1
3 1
4 1
...全文
1502打赏收藏
array[0]+i 和 array[0]+1 怎么理解?
讲问题简化了一下:主要就是怎么理解array[0]+i 和 array[0]+1。 当加计数i的时候编译器理解成的事偏移;而加常量1的时候又是正常的加法。 源码(GCC 4.8.1): #include #define NUM 5 int main(void) { int array[NUM] = {0, 1, 2, 3, 4}; int i = 0; for (; i < NUM; i++) printf("%d\t%d\n",array[0]+i,array[0]+1);