首先,得明确本题要求回答的是
"对c数组元素地址的正确引用"
是对直址的引用,不是对数元素本身!!!!!
所以选B答案.
A的话,可以或者说只能直接用 c[3]
B.pc本来指向c[0]位置.pc+2,即按类型指向+2个位址.结果应该是c[2].
下面是例程:
#include<stdio.h>
void main(){
char c[3];
char *pc=c;
c[0]=1;
c[2]=2;
c[3]=3;
printf("%d",*pc+2);
}
结果输出会是 c[2],即3
//附BCC++5.5编译信息
--------------------配置: bcc5.5 - CUI Debug, 编译器类型: Borland C++ Compiler--------------------
检查文件依赖性...
正在编译 C:\Users\fallx\Documents\C-Free\Temp\未命名1.cpp...
Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland
正在连接...
Turbo Incremental Link 5.96 Copyright (c) 1997-2008 CodeGear
完成构建 未命名1: 0 个错误, 0 个警告
生成 C:\Users\fallx\Documents\C-Free\Temp\未命名1.exe
//
C选择吗,会因为c这个符号本身指向不明确而出现c++即加一个相应类型位址后所指更加不明确的情况出现.
这纯粹是个人理解.如果有错漏,请不吝赐教!谢谢
温馨提示:答案为网友推荐,仅供参考