问题
单项选择题
有以下程序
prt(int *m,int n)
int i;
for(i=0;i<n;i++)m[i]++;
main()
int a[]=(1,2,3,4,5),i;
prt(a,5);
for(i=0;i<5;i++) printf("%d,",a[i]);
程序运行后的输出结果是______。
A.1,2,3,4,5,
B.2,3,4,5,6,
C.3,4,5,6,7,
D.2,3,4,5,1,
答案
参考答案:B
解析: 数组名是一个指向该数组首地址的指针常量,所以数组名作为函数参数和用同类型指针作为参数无区别。容易看出:prt()函数的作用是将m指向的数组中前n个元素的值都加1,所以在执行prt(a,5);之后,数组a中的元素都自增1,所以选项B正确。