数组出现问题
Having trouble with arrays
我 100% 确定我的代码错误地确定了数组的大小当我输入 hello 作为输入并设置 strArray[5] 时,它可以正常工作。但问题是我不知道输入的大小会有多大,所以我只输入 80(因为这是可能的最大值)
这是我的代码。
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
main()
{
string str1;
char strArray[80];
cout << "Enter string: ";
getline(cin, str1);
transform(str1.begin(), str1.end(), str1.begin(), ::tolower);
str1.erase(remove(str1.begin(),str1.end(),' '),str1.end());
for(int i = 0;i < str1.length(); i++)
{
if(str1[i] == ',' || str1[i] == '.')
{
str1.erase(i,1);
}
}
for(int i=0;i<str1.length();i++)
{
strArray[i] = str1[i];
}
char tempChar;
for(int i = 0; i < (sizeof(strArray)/sizeof(*strArray))-1; i++)
{
for(int j = 0; j < (sizeof(strArray)/sizeof(*strArray)-1); j++)
{
if(strArray[j+1] < strArray[j])
{
tempChar = strArray[j];
strArray[j] = strArray[j+1];
strArray[j+1] = tempChar;
}
}
}
cout << strArray << endl;
return 0;
}
你可以把strArray变成一个字符串。 或者,如果必须使用 char
数组,则应使用 char *strArray = new char[str1.length()]
动态分配 char 数组。 在这种情况下,不要忘记完成后delete [] strArray;
。
相关文章:
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 输入std::数组时出现问题
- 类对象数组的问题会导致崩溃
- 传递二维数组时出现问题
- 从 C++ 中的函数返回数组地址问题
- 使用数组时出现问题
- 打印问题.我在数组中打印值时遇到一些问题
- C++:__aligned(__alignof__) 导致字符数组数据出现问题?
- 将字节数组转换为带有字节序问题的指针
- C++ 填充数组时遇到问题
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 当我尝试通过 arduino 上的引用传递布尔数组时出现问题
- 我正在尝试解决一个需要数组总和值但代码不起作用的问题,我想做这样的事情
- 编写 cin.get() 以接收字符数组时出现问题
- 在 C++ Consol 中的数组中执行用户命令时出现问题
- 存储另一个函数返回的布尔数组时遇到问题
- 当我在 CLion 中读取数组中的 txt 文件时C++编码问题
- 运行时C++数组初始化问题
- 我在解决此错误时遇到问题.我正在努力在主函数中传递数组