首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为啥这样遍历数组不可以

2013-10-11 
为什么这样遍历数组不可以如果这样遍历数组,是可以的:#include stdio.hvoid main() {int a[2][3] {{1,

为什么这样遍历数组不可以
如果这样遍历数组,是可以的:
#include <stdio.h>

void main() {
int a[2][3] = {
{1,2,3},
{4,5,6}
};
int *p = a[0];
for(; p < a[0] + 6; p++) {
printf("%d\n", *p);
}
}
但是改成这样,就会出现诡异的问题:
#include <stdio.h>

void main() {
int a[2][3] = {
{1,2,3},
{4,5,6}
};
int *p = a[0];
for(; p < p + 6; p++) {
printf("%d\n", *p);
}
}
为啥捏,p和a[0]不是一样的么
请问这是为什么?
[解决办法]


void main() {
int a[2][3] = {
{1,2,3},
{4,5,6}
};
int *p = a[0];
for(; p < p + 6; p++) {
printf("%d\n", *p);
}

for是死循环,p<p+6 p++

热点排行