A-A+

有以下程序prt (int *m int n){ int i; for (i=0; i<n

2022-08-05 23:55:14 问答库 阅读 173 次

问题详情

有以下程序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
解析:本题考查的是数组名作函数的参数。数组名实际上是一个指向该数组首地址的指针常量,所以数组名作函数的参数和用同类型的指针作参数没有区别.题目首先定义了一个函数,该函数通过一个for循环将指针m到m+n-1所指内存中的数据自增1,所以主函数中执行了prt(a,5);语句后,数组a中的所有元素被自增1。所以,4个选项中选项B符合题意。

考点:程序