一维数组输入输出

 我来答
惠企百科
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

方法一、数组的下标法

如:

int a[5],i;

printf("Input five numbers:");

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

{

scanf("%d",&a[i]);

}

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

{

printf("%4d",a[i]);

}

方法二、数组名首地址法(指针法):指针增1运算的执行效率很高,利用指针的增1运算实现指针的移动,省去了每寻找一个数组元素都要进行的指针算术运算,执行效率最高。

说明:数组名有特殊含义,它代表存放数组元素的连续存储空间的首地址,即指向数组中第一个元素的常量指针,如"a+i"代表数组中下标为i的元素a[i]的地址(&a[i]),而"*(a+i)"表示取出首地址元素后第i个元素的内容,即下标为i的元素"a[i]"。

int a[5],i;

printf("Input five numbers:");

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

{

scanf("%d",a+i);

}

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

{

printf("%4d",*(a+i));

}

方法三、移动指针变量法:

说明:指向同一数组中不同元素的指针的关系运算用于比较他们所指元素在数组中的前后位置关系。指针的算术运算(如增1和减1)用于移动指针的指向,使其指向数组中的其它元素。

注意:p++和p+1是本质不同的两个操作。

同:都对指针变量p进行加1运算。

异:p+1不改变当前指针的指向,p仍指向原来指向的元素,p++讲指针变量p向前移动一个元素的位置,指向下一元素,p++是加上1*sizeof(基类型)个字节。

int a[5],*p;

printf("Input five numbers:");

for(p=a;p<a+5;p++)注意:p是指针变量,可以通过赋值操作改变他的值,使p指向数组中其他元素,而数组名a是一个常量指针,代表一个地址常量,其值是不能被改变的。

{                                             

scanf("%d",p);

}

for(p=a;p<a+5;p++)

{

printf("%4d",*p);

}

方法四、指针下标法:

int a[5],  *p=NULL,  i;

printf("Input five numbers:");

p=a;// p=a等价于p=&a[0]  //

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

{

scanf("%d",  &p[i]  );//  &p[i]等价于p+1  //

}

p=a;//   在再次循环开始前,确保指针p指向数组首地址   //

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

{

printf("%4d",  p[i]  );// p[i]等价于*(p+i)  //

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式