83、有以下函数 char fun(char *p) { return p; } 该函数的返回值是

83、有以下函数 char fun(char *p) { return p; } 该函数的返回值是 A) 无确切的值 B) 形参p中存放的地址值
C) 一个临时存储单元的地址 D) 形参p自身的地址值

当然是B,因为变量p存放的是传入参数,传入参数的类型是char *是个指针,或者说是地址

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-22
返回p的时候,会把p强制转化为char。由于p是一个指针,在32位机器上,指针的大小是4个字节(64位pc上是8个字节)。这个时候会把p指针值(不是指向的值,就是指针本身)的第1个字节转化为char返回。这里把完整的指针给截取了,通常是一个不知道是什么的值,没有意义。
所以,这个应该是A。
第2个回答  2018-08-21
D) 形参p自身的地址值
函数fun就是完成了返回字符指针p,也就是字符指针的地址。但是函数返回类型应该是char *,这里写成了char,如果是char的话,应该需要强制转换。
第3个回答  2018-08-24
这是啥题?只能选A了,因为其他明显错误。但A也是错误的,怎么叫“无确切的值”?,它是确切的,就是实参传过来的地址的最低字节的值!
第4个回答  2018-08-23
确切地说,这里没有一个答案是正确的。

因为这根本就无法通过编译。想要把一个指针值(地址)强制转换为字符,是无法通过编译系统进行编译的。
相似回答