【发布时间】:2015-10-10 22:33:54
【问题描述】:
#include<iostream>
using namespace std;
int main()
{
char s1[80]={"This is a developed country."};
char *s2[8];
s2[0]=&s1[10];
cout<<*s2; //Predicted OUTPUT: developed
// Actual OUTPUT: developed country.
return 0;
}
我想要那个 cout
【问题讨论】:
-
s2是一个由 8 个char指针组成的数组。*s2就是这样一个指针。char指针不存储字符,它指向它们。char数组存储字符。 -
您为什么预测输出“已开发”?你以为“发达”有8个字吗?它有 9 个。(或 10 个,但这是一个不同的对话。)它绝对没有 8 个字符。
-
还必须注意:不要在 C++ 中使用数组和指针。它有
std::string,这是您应该使用的数据类型。
标签: c++ string pointers substring