g***j 发帖数: 1275 | 1 void main(){
const char * s = 0;
f(______);
cout<
}
问题,如何写function f,让程序输出 “hello”?
signature 自己定义 |
d**********x 发帖数: 4083 | 2 引用啊
【在 g***j 的大作中提到】 : void main(){ : const char * s = 0; : f(______); : : cout<: } : 问题,如何写function f,让程序输出 “hello”? : signature 自己定义
|
l***i 发帖数: 1309 | 3 void f(const char **ps)
{
*ps = "hello";
} |
d********t 发帖数: 9628 | 4 正解
【在 l***i 的大作中提到】 : void f(const char **ps) : { : *ps = "hello"; : }
|
j*****y 发帖数: 1071 | 5 void f(void)
{
cout << "hello "<
exit(0);
}
【在 g***j 的大作中提到】 : void main(){ : const char * s = 0; : f(______); : : cout<: } : 问题,如何写function f,让程序输出 “hello”? : signature 自己定义
|
d****o 发帖数: 1055 | 6 哈哈,跟我想得一样。
【在 j*****y 的大作中提到】 : void f(void) : { : cout << "hello "<: exit(0); : }
|
j*****y 发帖数: 1071 | 7 不知道这个怎么解释。
比如写成这样也是可以的
void f(const char * &s)
{
s = "hello";
}
为什么明明是 const 类型还可以改变它的值?
【在 l***i 的大作中提到】 : void f(const char **ps) : { : *ps = "hello"; : }
|
l*********8 发帖数: 4642 | 8 const char * 是说指针指向的内容不能改变, 指针本身地址可以改变
char * const 才是指针本身不能改变。
【在 j*****y 的大作中提到】 : 不知道这个怎么解释。 : 比如写成这样也是可以的 : void f(const char * &s) : { : s = "hello"; : } : 为什么明明是 const 类型还可以改变它的值?
|
j*****y 发帖数: 1071 | 9 明白了。
s = "hello"
其实是修改指针本身,是一个地址。 "hello" 是一个地址。
多谢。
【在 l*********8 的大作中提到】 : const char * 是说指针指向的内容不能改变, 指针本身地址可以改变 : char * const 才是指针本身不能改变。
|
d****n 发帖数: 1637 | 10 this is C++
【在 j*****y 的大作中提到】 : 不知道这个怎么解释。 : 比如写成这样也是可以的 : void f(const char * &s) : { : s = "hello"; : } : 为什么明明是 const 类型还可以改变它的值?
|