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

#include<stdio.h>
main()
{
int a[6],i;
for{i=0;i<=6;i++}
scanf("%d",a[i]);
p=a;
for(i=0;i<=6;i++)
printf("%3d",p);
printf("\n");
}
请帮我看看哪里不对,谢谢、

#include<stdio.h>
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;i++)此处与下面的语句没有联系,按照你的写法,会输出7次a[0];
*/
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
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个回答  2012-09-08
#include<stdio.h>
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");
}本回答被网友采纳
第2个回答  2012-09-08
小于6 ,没有等于

指针变量p 没有定义

输出用 *p 来

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网