gpt4 book ai didi

c++ - 为什么我会收到来自 g++ 的错误消息?

转载 作者:行者123 更新时间:2023-11-30 02:59:28 25 4
gpt4 key购买 nike

下面是我的代码。它在 g++ 中编译得很好,但总是有这个运行时错误:Segmentation fault (core dumped)

我哪里错了?

#include<iostream>
#include<string>

using namespace std;

void sort_string(string x){
for (int i=0;x.size();i++){
for(int j=i;x.size();j++){
char temp = x[i];
if (temp > x[j]){
x[j]=temp;
x[i]=x[j];
}
}
}
}


int main(){
string words;
cin >> words;

while (words != " "){
cout << words << " ";
sort_string(words);
cout << words << endl;
}

}

最佳答案

您正在循环超出字符串的范围。你需要这个:

for (int i=0; i<x.size(); i++){ ... }

与内循环类似。 x.size() 的计算结果为 true 除非字符串为空。由于这是循环终止条件,因此对于非空字符串,循环将永远运行。

关于c++ - 为什么我会收到来自 g++ 的错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com