目录: 标题| 题干| 答案| 搜索| 相关
问题

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


有以下程序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.3,4,5,6,7,C.2,3,4,5,6, D.2,3,4,5,1,

  • A1,2,3,4,5,
  • B3,4,5,6,7,
  • C2,3,4,5,6,
  • D2,3,4,5,1,
参考答案
参考解析:

用数组名作为函数实参时,不是把数组的值传递给形参,而是把实参数组的起始地址传递给形参数组,这样两个数组就共同占用同一段内存单元。本题通过“prt(a,5);”将数组a的首地址传递给了指针变量m,使指针变量m指向数组a的首地址,那么,对指针变量所指向的存储单元的内容的改变就是对数组a中的元素的改变。题中函数prt的作用是将指针变量m所指向的存储单元中的元素值各加上1,故数组a中的值也随之变化,所以。输出的数组元素的值为2,3,4,5,6,。

分类:其他
相关推荐

1、有以下程序fun(int *a,int n) { int i,j=0,p;

有以下程序fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]<a[p]) ____; return(p);}在下画线处应填入的是A.i=p B.a[p]=a[i] C.p=j D.p=iAi=p Ba[p]=a[i] Cp=j Dp=i

2、for(int i=0;i

for(int i=0;iAn2B(n+1)/2Cn(n-1)/2Dn(n+1)/2

3、有如下程序 main() { int n[5]={0,0,0},i,k=2

有如下程序main(){int n[5]={0,0,0},i,k=2;for(i=0;iA不确定的值B2C1D0

4、for( int i = m

for(&#8194;int&#8194;i&#8194;=&#8194;min;&#8194;i&#8194;A&ensp;init&ensp;i&ensp;=&ensp;min;while(&ensp;i&ensp;<&ensp;max&ensp;){}B&ensp;int&ensp;i&ensp;=&ensp;m...

5、循环语句“for(int i=0; i

循环语句“for(int i=0; iA1Bn-1CnDn+1

6、有以下程序: main() { int i=0, s=0; do{ if(i

有以下程序: main() { int i=0, s=0; do{ if(i % 2) {i++; continue;} i++; s+=i; }while(i<7); printf("% d ", s); } 执行后的输出结果是______。A16B12C28D21