gpt4 book ai didi

c++ - 为什么这个简单的程序会出现段错误?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:06:51 25 4
gpt4 key购买 nike

我写了一个简单的 C++ 程序。这个想法是,一旦它看到一个非字母字符,那么直到它看到一个新单词(空白)或字符串结束时,它会继续递增迭代器。

这会产生段错误,不知道为什么 :(请帮忙。

#include <iostream>
using namespace std;

int main()
{
string str("Hello yuio");
string::iterator it=str.begin();

while(it!=str.end())
{
cout << *it << endl;

if(isalpha(*it)==0){
cout << *it << ":Is not an alphabet\n";

while((*it!=' ')||(it!=str.end()))
{
cout << *it << endl;
it++;
}
}

if(it!=str.end()){it++;}
} // while loop ends
} // End of main

最佳答案

while((*it!=' ')||(it!=str.end()))

*it 在检查 it 本身是否可以使用之前被评估。更改为:

while((it!=str.end())&&(*it!=' '))

关于c++ - 为什么这个简单的程序会出现段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5322610/

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