三种整型数组输入输出的方法

下面用三个程序来介绍这三种方式,三种方式的目的均相同:输入10个元素并将其输出。

①数组名法

#include <stdio.h>
int main()
{
	int i;
	int a[10];
	for(i=0;i<10;i++)               //数组名a代表数组首元素的地址,它是一个指针型常量
		scanf("%d",a+i);           //注:a的值在程序运行期间是固定不变的,所以不能实现a++等操作
	for(i=0;i<10;i++)
		printf("%d ",*a+i);         //通过数组名和元素序号计算元素地址,再找到该元素
	return 0;
}
②下标法

#include <stdio.h>              
int main()
{
	int i;
	int a[10];
	for(i=0;i<10;i++)                       
		scanf("%d",&a[i]);
	for(i=0;i<10;i++)
		printf("%d ",a[i]);       //数组元素用数组名和下标表示
	return 0;
}
③指针法

#include <stdio.h>
int main()
{
	int *p,i;
	int a[10];
	for(p=a;p<(a+10);p++)
		scanf("%d",p);
	for(p=a;p<(a+10);p++)
		printf("%d ",*p);          //用指针指向当前的数组元素
	return 0;
}
三种方式最终的运行结果均一致


三种方式的比较:

1.下标法和数组名法的执行效率是相同的,但由于编译系统先计算的是元素的地址,所以这两种方式耗时较多。

2.指针法用指针变量直接指向元素,不必每次重新计算地址,相对来说速度更快。

3.使用下标法最直观。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章