中易网

c语言 用指针实现一组数据的数据输入与输出

答案:3  悬赏:20  
解决时间 2021-01-10 18:21
  • 提问者网友:别再叽里呱啦
  • 2021-01-10 10:10
c语言 用指针实现一组数据的数据输入与输出
最佳答案
  • 二级知识专家网友:佘樂
  • 2021-01-10 10:36
#include
main()
{
int a[6],i;
int *p;//p没有定义怎么能够使用呢?p为指针
for(i=0;i<6;i++)//for之后怎么是{ },应是();还有没有等于,否则会指针越界
scanf("%d",&a[i]);//此处丢了一个&(求地址)
p=a;

for(i=0;i<6;p++,i++)
printf("%3d",*p);//居然丢了一个*,太粗心
printf("\n");
}

修改版已经在上面,你自己好好看一下吧!不懂可以问我!追问你好,这个题是书上的填空题,题目要求是“完成以下程序的上机调试,分析程序运行结果。空是 int *p 7a[i] *p.
for(i=0;i<=6;i++) 和下面的p=a 题上写的。
按题目要求我还要修改程序吗?
p=a 写在下面有什么影响么?追答p=a;表示将a数组的首地址赋给p,p是指向int类型的指针!
p=a;表示p指向了a[0];

for(i=0;i<6;p++,i++)//p++,使p不断向后移,指向a[1],a[2],a[3]……
printf("%3d",*p);
p也可以写在上面,没关系

这样哦,那还要改一下!
#include
main()
{
int a[7],i;
int *p;//p没有定义怎么能够使用呢?p为指针
for(i=0;i<=6;i++)
scanf("%d",&a[i]);//此处丢了一个&(求地址)
p=a;

for(i=0;i<=6;p++,i++)
printf("%3d",*p);//居然丢了一个*,太粗心
printf("\n");
}
全部回答
  • 1楼网友:酒者煙囻
  • 2021-01-10 12:48
小于6 ,没有等于

指针变量p 没有定义

输出用 *p 来
  • 2楼网友:青灯有味
  • 2021-01-10 11:49
#include
main()
{
int a[6],i,*p;
for(i=0;i<6;i++) //括号() 数组元素下标0-5 表示六个元素
scanf("%d",&a[i]); //加&,这里需要一个指针变量
p=a;
for(i=0;i<6;i++) //同上
printf("%3d",*(p+i) ); //引用指针数据加*,想通过指针访问每个数组元素,需要变化指针地址
printf("\n");
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息