在C++的某些版本中‘“<<”的结合性有可能不一样,有的是左结合,有的的右结合,你上面的结果是因为“<<”是右结合性的,先输出的是(*A)[3],而(*A)[3]是指向的一块未知内存区域,所以会输出不知的结果,希望对你有所帮助
貌似,数组的长度不够
数组越界。下标从0开始的。即 test[0] ,test[1],test[2]
cout<<test[2]<<endl;
cout<<test[2]<< (*A)[3];<<endl;
就可以了。
指针直接指向地址,不存在越界的可能性。只是会答案错误而已。
会报错 是什么意思。 你用的是windows吗
linux上test[100]也不会报错的, 访问的话输出一个负值, 赋值肯定不行。 不同系统应该不一样
哥,指针越界了。。。第二个编译过是因为你用的是指针。。。