c++ - 如何在 C++ 中打印存储在字符串数组中的单词的长度?
问题描述
我正在尝试获取存储在字符串数组中的单词的长度。首先,我使用' n '(来自用户的输入)指定数组中的单词数,然后我从'的用户那里获取输入n ' 他们想要存储的单词。之后,我希望打印一个单词的长度。
这是代码....
#include <iostream>
using namespace std;
int main(){
int n;
cout<<"enter no"<<endl;
cin>>n;
string A[n];
for(int i=0;i<n;i++){
cin>>A[i];
}
cout<<strlen(A[2])<<endl;
}
例如,如果输入是:
3
leonardo
tom
brad
(它们写在不同的行中)
那么输出应该是:
4
这是 的长度brad
。
但是我在执行这段代码时遇到了一个奇怪的错误。请提出一种方法来做到这一点,同时在单独的行中获取用户的输入
解决方案
cin>>n;
string A[n];
数组的大小必须在编译时知道。C++ 不支持可变长度数组 (VLA)(一些编译器也将其作为扩展)。请改用具有动态分配的容器,例如std::vector
.
std::cin >> n;
std::vector<std::string> A(n);
并使用A[2].size()
而不是strlen(A[2])
.
推荐阅读
- php - 使用 PHP 读取和解密 chrome 中的 cookie
- python - Python virutalenv 什么都不做
- javascript - 将鼠标悬停在嵌套在其中的 div 上时更改正文背景
- python - 谷歌 colab 上存在情绪问题的 BERT 模型
- python - Python中列表合并中的跟踪重叠
- curl - curl 命令的等效 Python
- firebase - 从 Firebase REST API 获取特定数据
- javascript - 如何防止在javascript函数中重复添加新元素?
- google-api - 我使用什么 URL 将用户发送到 google oauth2 同意屏幕
- java - 运行 hive 和 Keberos 配置所需的 Jar 文件