有以下程序 #include <stdio.h> int * f(int *s) { s[1] +=6; *s=7; s+=2; return s; } main( ) { int a[5]={1,2,3,4,5}, *p=

admin2020-11-27  17

问题 有以下程序
#include  <stdio.h>
int *  f(int  *s)
{  s[1] +=6;
   *s=7;
   s+=2;
   return  s;
}
main( )
{  int  a[5]={1,2,3,4,5}, *p=a;  
   p= f(p);  
   printf( "%d,%d,%d\n", a[0], a[1], *p );
}
程序运行后的输出结果是

选项 A、9,8,9
B、7,8,7
C、7,8,3
D、1,2,1

答案C

解析 函数f中,s指向数组a, s[1]+=6,a[1]=8;a[0]=7;修改a[1],*s=7修改a[0],s+=2;s指向第三个元素,返回s,并赋给指针p,则*p=3。,因此打印7,8,3,答案为C选项
转载请注明原文地址:https://kaotiyun.com/show/DY3p777K
0

最新回复(0)