有以下程序 #include #include void fun ( char *s ) { char a[10]; strcpy( a, "STRING" ); s = a; } main() { char *p="PROGRAM"; fun(

admin2015-07-28  24

问题 有以下程序
#include
#include
void fun ( char *s )
{
char a[10];
strcpy( a, "STRING" );
s = a;
}
main()
{
char *p="PROGRAM";
fun( p );
printf("%s\n",p);
}
程序运行后的输出结果是(此处□代表空格) ( )。

选项 A、PROGRAM
B、STRING□□□□
C、STRING□□□
D、STRING

答案A

解析 函数的参数传递过程中,形参只是实参的一个副本,如果形参和实参为两个地址,则形参指针指向的变化不能影响到实参指针的指向。所以该函数fun()调用中,并不能改变实参p的指向,输出结果为"PROGRAM",答案选A。
转载请注明原文地址:https://jikaoti.com/ti/Fei0FFFM
0

最新回复(0)