如何解决将句子传递给C ++中的char数组
我如何将带有空格和大小写字母的句子作为char数组的输入,例如char arr []。有没有不用cstring库就能做到这一点的方法?
#include <iostream>
using namespace std;
int palindrome(char arrC[],int indexS,int indexE)
{
if(indexS>=indexE)
return 1;
if(arrC[indexS] == arrC[indexE])
return palindrome(arrC,++indexS,--indexE);
else
return 0;
}
// Driver code
int main()
{
//string arrC = "A man a plan a canal Panama";
char arrC[50]; //= { 'c','i','v','c' };
cout<<"Enter your string: "<<endl;
getline(cin,arrC);
int size = sizeof(arrC) / sizeof(arrC[0]);
if(palindrome(arrC,--size)==true)
cout << "The string is a palindrome!" << endl;
else
cout << "The string is not a palindrome. It's just a regular string." << endl;
return 0;
}
这是它给的错误
解决方法
执行此操作的简单方法是使用std::cin.getline()
,如下所示:
- 它的第一个参数应该是要将输入存储在其中的c样式字符串数组。
- 传入的第二个参数应该是写入“您的第一个参数”的最大字符数(包括终止的空字符)。
以下是我快速制作的一个示例:
#include <iostream>
int main() {
char my_arr[100]{};
std::cin.getline(my_arr,100);
system("pause");
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。