永发信息网

关于C语言中指针的问题

答案:3  悬赏:60  手机版
解决时间 2021-04-24 06:09

main()

{
int *p,i,a[10];
p=a;
for(i=0;i<10;i++)
*p++=i;
for(i=0;i<10;i++)
printf("a[%d]=%d\n",i,*p++);
}

main()

{
int *p,i,a[10];
p=a;
for(i=0;i<10;i++)
*p++=i;
p=a;
for(i=0;i<10;i++)
printf("a[%d]=%d\n",i,*p++);
}

第二段代码中多出了一行 p=a ,起什么作用,输出和第一段截然不同,有点不理解,请解释一下,谢谢!

最佳答案

p = a;


是重新将p指向数组a的首地址


因为指针p自增了10次,循环结束后指向了数组a的末端


如果不p = a;得到的结果全是垃圾

全部回答
请问第一行代码输出了什么东西?
把指针p重新指向数组a的开始地址。 第一段代码没有,所以他输出的是被修改后(a的10个元素后)的地址的内容。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
读大学好不?
济南哪里有卖潍坊火烧的?
棉涤纶混纺是什么面料,纤维混纺是什么面料
DNF日服点了 game start没反应
花妹子的小K多少钱一安
欧瑞特纱窗我想知道这个在什么地方
用OEM破解的操作系统是倒版的不 就是说预装的
丝路英雄怎么被清空了
新手如何才能打好网球
学药学能赚钱吗?
黄瓜可以干什么
为什么我的QQ三国54级怎么没有4级图标
数学作业啊啊啊
为什么我的今日要闻点开后点里面的内容不动,
求高手..大学英语2问题后续
推荐资讯
QQ农场中有哪些特殊装饰?
重庆科创学院在网上的名声怎么那么差啊!这学
孕妇梦到牙齿掉了一排,好不好?是什么意思?
诗歌朗诵《我们的教师》背景音乐
最酷最炫的网名
十吨热水锅炉匹配的引风机的型号
狗出陌宠物馆地址在哪,我要去那里办事
火车票网上订票网址
梦幻西游PT怎样加点最厉害呢?要绝对JP的
谁能教我这道题
皮肤超敏感怎么办.对护肤品没有信心了,也不
去世博园区类似蜜一样的防晒霜能带吗?还有风
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?