问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言问题,用指针为一个二维数组赋值

发布网友 发布时间:2022-06-27 07:06

我来回答

5个回答

热心网友 时间:2024-11-25 16:29

ptr=arr;

其实你这样赋值也是可以的,是没有问题的。

因为arr是二维数组的数组名,它(arr)本身就代表这个二维数组的第0行的地址。

问题关键不是出现在这里,而是在你程序的while循环语句中

while(scanf("%f", &ptr+i)&&i!=7)

i++;

你这样写是不对的,首先ptr指向的是一个地址,所以ptr+i也是一个地址,所以这里就不能用变址运算符"&"了。第二个问题是,i 从0自加到6,这里面其实有了7个数,明显超过了arr数组的长度,这样是不对的。这个循环还有一个问题就是,这本身就是一个不正常的循环(自己想想为什么)

下面是我帮你改改的代码,希望对你会有帮助。

#include<stdio.h>

void main()

{

double arr[2][3];

double *ptr;

int i=0;

ptr=*arr;      //把数组arr第0行第0列的地址赋给ptr,其作用与ptr=arr;相同,

                     但不建议采用ptr=arr;这样的赋值//

printf("Plese enter 2*3 numbers: \n");

for(i=0;i<6;i++)

scanf("%lf",ptr+i);   //注意不要将ptr+i 写成&ptr+i 或&(ptr+i),否则出错//

for(i=0;i<6;i++)

printf("%g  ",*ptr++);

printf("\n");

}

热心网友 时间:2024-11-25 16:30

while(scanf("%lf", &ptr+i)&&i!=7)
i++; 这个我不太明白,我也是新手,我也遇到过这种情况,我是这样做的:
#include<stdio.h>
void main()
{
double arr[2][3];
double *ptr;
int i=0;
ptr=&arr[0][0];
printf("Plese enter 2*3 numbers: \n");
for(i=0;i<6;i++)
scanf("%lf",ptr+i);

for(i=0;i<6;i++)
printf("%lf ",*(ptr+i));
}
希望对你有点帮助

热心网友 时间:2024-11-25 16:30

顺着你的想法 我给你改了一下 对于楼上写的代码 我说一下 他那里的ptr = array[0] ;我说这个希望能增加你对指针的理解。

double arr[2][3];
double( *ptr)[3];
int i=0;
ptr=arr;
printf("Plese enter 2*3 numbers: \n");
while(scanf("%f",*((*p)+i))&&i!=7)
i++;

热心网友 时间:2024-11-25 16:31

可以强行转换,ptr=(double *)arr,不过你这个程序还有个地方有问题:
while(scanf("%f", &ptr+i)&&i!=7) 改成 while(i!=6 && scanf("%lf", ptr+i))

热心网友 时间:2024-11-25 16:31

for( i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("l%f",a[i][j]);
我也是新手,不知道这样做对不对
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 201不锈钢防盗窗要多少钱一平方 北京同仁堂是中国驰名商标吗 1cm厚201不锈钢板多少钱一方 《重拾旧梦,抢来的新娘》txt下载在线阅读全文,求百度网盘云资源_百度知 ... 旧梦重拾是什么意思? 学编程应具备哪些素质?算法与数据结构重要吗 ...时候经常出现&quot;Internet Explorer 无法显示该网页&quot; 冬天途观L汽车开内循环是灯亮还是灯熄 尼桑轩逸车打着活,空调关着,循环灯是亮还是不亮- 问一问 汽车按了内循环,也不是除雾,怎么指示灯不亮? ...绿蓝白橙 键盘是微步KM-302德 求顺序 是边是DVGC 求顺序 哪个配哪个... 日本先锋DV―K302DVD三碟dvd机芯·不读盘怎样修理? 先锋DV-k302CD机性能如何 DV302是什么 茴香鸡蛋饺子和茴香猪肉饺子哪个好吃啊 英语的字母名称和字母音 我老公坐飞机把充电宝托运了。也没人发现,行李会不会滞留啊?好担心啊... 刚刚我的行李和充电宝一起托运了,请问我的行李会不会被扣留不能和我同... 永远造句二年级下册简单 吃了梅龙镇冰刺海参有没有好的功效啊? 求助指针如何给二维数组赋值 C语言指针赋值二维数组问题 指向二维数组的指针该怎么赋值? 二维数组的赋值 60岁得前列腺炎怎么治? 老年人前列腺炎怎么办 千金难买子时命下句 海报与标志设计是否都具有易识性? 小小英雄是否可以抽到猫罗 姓韩第二字是芯下一字怎么起女孩 芯下面还有两个心是什么字啊 一个芯下面两个心 念什么 抽芯下管模具推环与芯子怎样设计才不会磨损 钻井取芯下钻铤吗? 用电动缝纫机,线往梭芯下跑,不绕梭芯怎么回事 &quot;页码在版芯下边线之下隔行居中放置 电脑怎么登录两个 电脑怎么登陆双 拼多多童颜纪是真的吗 你们的寡肽原液没有防伪码吗