这样字符串数组使用有问题吗

img

img

感觉没啥问题吧,为什么运行不了呢?
string不能这样写吗?
不是可以这样循环输入输出的吗

19行和23行的string 去掉?

string s;
cin >> s;
cout << s << endl;
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7620579
  • 这篇博客你也可以参考下:string类型需要头文件?
  • 除此之外, 这篇博客: 字母串类型string的初始化,操作,读写和单个字符操作中的 4.字符串可与字符串字面值相加 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

            string s1=s+"s";        //但是+两必须有一个是string

  • 以下回答来自chatgpt:

    优化后的问题: 如何解决字符串数组无法运行的问题?

    回答:

    这种方式创建和循环输出字符串数组没有问题。

    可能是您的代码缺少头文件,首先请确保包含了头文件 #include <iostream> 和命名空间 using namespace std;

    如果您的代码中已包含正确的头文件和命名空间,但是仍然无法运行,可能是因为编译器无法识别 string 类型。这种情况经常发生在较老的编译器上。

    解决方法是更改代码中的 string 类型为 std::string,如下所示:

    #include <iostream>
    #include <string> // 必须包含头文件string
    using namespace std;
    
    int main(){
        std::string arr[] = {"hello", "world"};
        for(int i=0; i<2; i++){
            cout << arr[i] << endl;
        }
        return 0;
    }
    

    这样就可以成功创建和循环输出字符串数组了。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^