问题
单项选择题
有以下程序:
point( char木p)
p+=3;
main()
char a[4]='1','2','3','4',*p=a;
point(p);
printf("%c\n",*p);
程序运行后的输出结果是
A) 1
B) 2
C) 3
D) 4
答案
参考答案:A
解析: 在函数point调用时,系统自动为函数的形参p分配内存空间,并赋值为实参p的值。当执行语句“p+=3”;时,系统操作的是形参p的内存空间,更改形参p的内容,而实参指针变量p的值未受影响,即指针变量作为函数参数时,不能更改实参指针变量的指向。故在“printf("%c\n",*p)”;语句中,p仍然指向字符数组的首元素。