gpt4 book ai didi

c++ - 为什么我的 C++ 代码中出现 'Segmentation Fault: 11' 行?

转载 作者:行者123 更新时间:2023-12-01 14:14:57 26 4
gpt4 key购买 nike

我是 C++ 编码的新手,在家庭作业中,我总是收到段错误:11,我不确定为什么。我事先做了一些研究,并尝试更改所有变量名,但没有任何区别。我应该怎么做才能解决这个问题?下面是我的代码。

#include <iostream>
using namespace std;

string middle(string str);

string middle(string str){
if(str.length() % 2 == 1){
cout << str[str.length()/2] << endl;
return 0;
}
else if(str.length() % 2 == 0){
cout << str[(str.length() + 1)/2];
cout << str[((str.length() + 1)/2) - 1];
return 0;
}
return 0;
}

int main(){
string a_word;

cout << "Enter a word: ";
cin >> a_word;
middle(a_word);
}

最佳答案

#include <iostream>
using namespace std;


void middle(string str){
if(str.length() % 2 == 1){
cout << str[str.length()/2] << endl;
return ;
}
else if(str.length() % 2 == 0){
cout << str[(str.length() + 1)/2];
cout << str[((str.length() + 1)/2) - 1];
return ;
}
return ;
}

int main(){
string a_word;

cout << "Enter a word: ";
cin >> a_word;
middle(a_word);
}

将您的代码更改为此它会起作用。我已将函数的返回类型更改为 void 而不是字符串。发生段错误是因为您返回的是整数,而函数的返回类型是字符串。

关于c++ - 为什么我的 C++ 代码中出现 'Segmentation Fault: 11' 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62762636/

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