有以下程序:#include <stdio.h>prt(int * m,int n) int i; for(i =0;i<n;i ++ ) m[i] ++;main( )} int a[ ] = { 1,2,3,4,5} ,i; p

admin2013-02-23  30

问题 有以下程序:#include <stdio.h>prt(int * m,int n)      int i;    for(i =0;i<n;i ++ ) m ++;main( )}  int a[ ] = { 1,2,3,4,5} ,i;    prt(a,5);    for(i =0;i<5;i ++ ) printf( "% d," ,a );}程序运行后的输出结果是(   )。

选项 A、1,2,3,4,5,
B、2,3,4,5,6,
C、3,4,5,6,7,
D、2,3,4,5,1

答案2

解析 prt(a,5);用数组名a作函数实参,不是把a数组的值传递给形参m,而是将数组a的首地址传递给指针变量m,使指针变量m指向数组a的首地址,这样他们就占用同一段内存单元。当改变了指针变量所指向的存储单元中的内容,也就改变了数组a中的元素。函数pit的作用是将指针变量m所指向的存储单元中的各元素值加1,也就是数组a中各元素的值加l,所以输出结果为:2,3,4,5,6,
转载请注明原文地址:https://kaotiyun.com/show/TYPp777K
0

随机试题
最新回复(0)