问题遇到的现象和发生背景
指针数组打印时出现的问题
用代码块功能插入代码,请勿粘贴截图
#include<iostream>
int main(int argc, char** argv){
int a[6]={1,2,3,2,1,1};
int b[3]={4,5,6};
int c[3]={7,8,9};
int* p[3]={a,b,c};
for(int i=0;i<3;i++){
int* q=p[i];
while(*q!='\0')
printf("%d ",*q++);
printf("\n");
}
}
运行结果及报错内容
打印的结果是:
1 2 3 2 1 1 68
4 5 6
7 8 9
我的解答思路和尝试过的方法
把int a[6]改成过int a[7]或者int a[5](当然int a[]里元素的个数也会相应的调整),输出的元素都正确,没有多
我想要达到的结果
为什么唯独int a[6]的时候会多出68