问题描述
- C++ 二维数组通过for循环赋值,用指针体现,出现无限循环。。。。
-
代码如下:
for(int (*p)[4]=ia;p <p+3;++p)
for(int *q=*p;q <q+4;++q)
cout<<*q<<" ";
cout<<endl;本人是一名菜鸟
解决方案
p <p+3
这个条件永远成立,因为p被更改了,可以这么写:
int *maxp = p + 3;
for(int (*p)[4]=ia;p <maxp;++p)
...
解决方案二:
p <p+3;永远为真
如果是新手,建议使用两个for,i,j访问
解决方案三:
这个代码奇怪到都不能回答了 = =
建议要不先附上完整的代码?
解决方案四:
一个For循环打印二维数组
无限循环 while(1) 和 for(; ;) 有何区别?哪个更好?
用两个for循环和一个for循环方式为二维数组赋初值并求出正对角线元素之和
时间: 2024-10-05 17:55:17