所以,我正在使用getline(cin, str);
当时的句子,然后string text[str.length()];
在for语句中,当我想要组合它们时(text[e] = text[e] + str[i];
)我得到了分段错误.完整代码:
#include#include #include using namespace std; int main() { string str; int i, e, space = 0; getline(cin, str); string text[str.length()]; for(i=0; i
hmjd.. 5
e
是单元化的,它将保持一个随机值,可能超出text
导致分段错误的范围.这不会将所有变量初始化为零:int i, e, space = 0;仅
space
初始化为零.改成:int i = 0, e = 0, space = 0;要么:
int i = 0; int e = 0; int space = 0;
据我所知,c ++不支持可变长度数组.
1> hmjd..:
e
是单元化的,它将保持一个随机值,可能超出text
导致分段错误的范围.这不会将所有变量初始化为零:int i, e, space = 0;仅
space
初始化为零.改成:int i = 0, e = 0, space = 0;要么:
int i = 0; int e = 0; int space = 0;
据我所知,c ++不支持可变长度数组.