有以下程序 #include void fun( char *p, int n ) { char b[6]="abcde"; int i; for( i=0,p=b; i

admin2019-07-14  31

问题 有以下程序
#include
void fun( char *p, int n )
{ char b[6]="abcde"; int i;
for( i=0,p=b; i=b;
}
main()
{ char a[6]="ABCDE";
fun(a, 5); printf("%s\n",a);
}
程序运行后的输出结果是( )。

选项 A、ABCDE
B、abcde
C、edcba
D、EDCBA

答案A

解析 函数fun()的功能是将字符数组b的地址赋值给指针p,语句"p=b;"其实无用。由于函数的参数传递过程中,形参只是实参的一个副本,若形参和实参为两个地址,则形参指针指向的变化不能影响到实参指针的指向。所以该函数fun()调用中,并不能改变实参a的指向,所以调用函数后,a指向的字符串内容不变,答案选A。
转载请注明原文地址:https://jikaoti.com/ti/rcf0FFFM
0

最新回复(0)