有以下程序: #include <stdio.h>point ( char * p) { p + = 3; }main( ) char b[4] = {’a’,’b’,’c’,’d’} , *p=b; point(p); printf

admin2009-01-15  37

问题 有以下程序: #include <stdio.h>point ( char * p) {  p + = 3; }main( )     char b[4] = {’a’,’b’,’c’,’d’} , *p=b;    point(p);    printf( "% c \n" , * p);

选项 A、a
B、b
C、c
D、d

答案1

解析 C函数的参数传递方式采用按值传递,不能通过调用函数改变形参指针本身的值,只能改变指针所指变量的值。调用point函数时,将实参指针p的值(b数组的首地址)传给了形参指针P,P+=3运算使形参指针指向字符d,但并不能改变main函数中p的值,所以本题正确答案应该是选项A)。
转载请注明原文地址:https://kaotiyun.com/show/PzXp777K
0

相关试题推荐
最新回复(0)