字符串到字符串的转换 *

冻结

我在将一个字符串的反向分配给另一个字符串时遇到错误。

[错误] 将“char*”分配给 char[20] 时的类型不兼容

这是我的代码

#include<iostream>
#include<string.h>
using namespace std;
int main()
{
    char str[20],str2[20];
    int length;
    cout<<"Enter the string\n";
    cin>>str;
    length=strlen(str);
    str2=strrev(str);
    if(str==str2)
    {
        cout<<"Palindrome"; 
    }
    else{
        cout<<"Not a palindrome";
    }
    return 1;
}

关于我做错了什么的任何解释都会非常有帮助。干杯

工作_September_2020

正如其他人所推荐的那样,一个简单的解决方案是使用std::string而不是char [20],然后您可以调用方法reverse()来完成这项工作。

这是我的简单代码:

#include <iostream>
#include <string>
#include <algorithm>

int main()
{
    std::string str, str2;

    std::cout << " Please Enter The String : \n";
    std::cin >> str;    

    str2 = str;
    
    reverse(str.begin(), str.end());
    
    if( str == str2 )
        std::cout << "Palindrome"; 
    else
        std::cout << "Not a palindrome";

    return 0;
}

我已经测试并验证了代码是否有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章