c++-C++ 二维数组通过for循环赋值,用指针体现,出现无限循环。。。。

问题描述

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

c++-C++ 二维数组通过for循环赋值,用指针体现,出现无限循环。。。。的相关文章

c#-对二维数组如何使用户输入赋值

问题描述 对二维数组如何使用户输入赋值 对二维数组如何使用户输入赋值? num1[0,0] = Convert.ToInt32(Console.WriteLine()); 解决方案 Console.ReadKey()

php中遍历二维数组并以表格的形式输出的方法

一.索引数组 <?php //使用array()语句结构将联系人列表中所有数据声明为一个二维数组,默认下标是顺序数字索引 $contact1 = array( //定义外层数组 array(1,'高某','A公司','北京市','(010)987654321','gm@Linux.com'),//子数组1 array(2,'洛某','B公司','上海市','(021)123456789','lm@apache.com'),//子数组2 array(3,'峰某','C公司','天津市','(022

C++建立动态二维数组

C++建立动态二维数组主要有两种方法: 1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组                           int **b=new int*[row];       //分配一个指针数组,将其首地址保存在b中                                                                for(i=0;i<row;i++)             //为指针数组的每个

数组 指针-c语言二维数组的指针问题

问题描述 c语言二维数组的指针问题 在WinTC下运行如下代码 #include void main() { char a1[][5]={"ab","cd","ef","ghi","sfs"}; printf("%sn",*(a1+3)); //语句1 printf("%cn",**(a1+3)); //语句2 } 运行结果为: ghi g 但如果将上述语句1中的%s

求大神讲解一下指针指向二维数组时该怎么用?

问题描述 求大神讲解一下指针指向二维数组时该怎么用? 指针指向一维数组时只用*(p+n)即可,但是二维数组时候改怎么用呢? 解决方案 个人认为其实二维数组还是一维数组,没有什么区别,例如int a[3][4],就相当于int a[12].要想访问a[2][3],就用*(a+(4*2+3)*(sizeof(int))),应该是这样,不过我一般用a[4*2+3] 来访问对应的元素 本人也是菜鸟,如果有错还请大神们指正~ 解决方案二: 由于指针与数组之间可以若转化,所以在一定程度上可以理解为数组就是指

php怎么循环以下二维数组

问题描述 php怎么循环以下二维数组 以前做java的,现在改行做php,菜鸟级别,想问大神一个问题,请大神指导, 我现在从配置文件中读取一个以下形式的二维数组: array1[0] = "c1":array1[1]="c2";array1[2]="c3"; array2[0]= "d1":array2[1]="d2" ;array2[2]="d3";array2[3]="d4

c-用for循环输入二维数组的时候,第一组数为什么为0?

问题描述 用for循环输入二维数组的时候,第一组数为什么为0? 代码如下 #include int main() { void paixu(float food[100][2], int N); float M,total = 0; int N,j,i; while (scanf("%f%d", &M, &N)&&M != -1 && N != -1) { float food[100][2] = { 0 }; for (i = 0; i

php二维数组循环程序代码

for循环遍历二维数组  代码如下 复制代码 print_r($order_data_info); Array ( [0] => stdClass Object ( [countOrder] => 3 [amntTotal] => 2380.00 [name] => 测试版 ) [1] => stdClass Object ( [countOrder] => 1 [amntTotal] => 2380.00 [name] => VIP版 ) [2] =>

Java中增强for循环在一维数组和二维数组中的使用方法_java

一维数组: int[] a={1,2,3}; for(int i:a) { System.out.print(i+" "); } 输出:1 2 3 二维数组: import java.util.Scanner; public class tet { public static void main(String[] args) { //int[][] b={{1,2,3},{4,5,6}};行 int[][] a=new int[5][];//必须明确行数 for(int i=0;i&l