预测以下程序的输出
null
#include <iostream> using namespace std; int main() { const char * p = "12345" ; const char **q = &p; *q = "abcde" ; const char *s = ++p; p = "XYZWVU" ; cout << *++s; return 0; } |
(A) 编译错误 (B) C (C) B (D) 垃圾值 答复: (B) 说明: 输出为“c”
const char*p=“12345”声明了一个指向常数的指针。所以我们不能给*p赋值,但我们可以给p赋值。
常量字符**q=&p;声明指向指针的指针。我们不能给**q赋值,但我们可以给q和*q赋值。
*q=“abcde”;将p改为“abcde”
常量字符*s=++p;将文本“bcde”的地址分配给s。同样,不能为*s分配新值,但s可以更改。
语句printf(“%cn”,*++s)将s更改为“cde”,并打印s处的第一个字符。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END