char *str[] = { "hello" }; char *p; p = str[0];
答案:2 悬赏:20
解决时间 2021-01-22 13:49
- 提问者网友:绫月
- 2021-01-22 07:31
char *str[] = { "hello" }; char *p; p = str[0];
最佳答案
- 二级知识专家网友:青灯有味
- 2021-01-22 08:26
楼上的解释是对的,给你举个例子吧把你的程序稍作修改
char *str[] = { "hello","world"};
char *p;
p = str[0];
那么cout<<str[1];输出的结果将是world,实际上你可以把*str[n]看成是一个二维数组。而指针p所指向的是第一个字符串的首地址,因此cout<<*p输出的实际上是第一个字符串的首字符,也就是h。如果你输出str[0][0],那么结果会是h。追答如果你输出的是str[0][0],那么结果将会是h。
char *str[] = { "hello","world"};
char *p;
p = str[0];
那么cout<<str[1];输出的结果将是world,实际上你可以把*str[n]看成是一个二维数组。而指针p所指向的是第一个字符串的首地址,因此cout<<*p输出的实际上是第一个字符串的首字符,也就是h。如果你输出str[0][0],那么结果会是h。追答如果你输出的是str[0][0],那么结果将会是h。
全部回答
- 1楼网友:天凉才是好个秋
- 2021-01-22 09:02
*p输出一个字符,str[0]输出一个字符串指针,指针输出的时候需要到\0才结束输出追答这里str[0]是char*格式,如果需要用cout输出指针,请强转一下cout<<(int)str[0]
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯