【发布时间】:2021-03-21 09:14:36
【问题描述】:
问题 - 从伯兰语翻译成伯兰语并非易事。这些语言非常相似:伯兰语单词与具有相同含义的伯兰语单词略有不同:拼写(和发音)相反。例如,伯兰语单词代码对应于伯兰语单词 edoc。但是,在«翻译»过程中很容易出错。 Vasya 将单词 s 从 Berlandish 翻译成 Birlandish 为 t。帮助他:看看他是否正确翻译了这个词。
输入 - 第一行包含单词 s,第二行包含单词 t。单词由小写拉丁字母组成。输入数据不包含不必要的空格。单词不为空且长度不超过 100 个符号。
输出 - 如果单词 t 是单词 s,则反写,打印 YES,否则打印 NO。
我写这段代码的时候,输出是错误的-
int main(){
char s[100000],a[100000];
cin >> s >> a;
strrev(s);
if(s==a){
cout << "YES";
}else{cout << "NO";}
}
但是当我写这段代码时,输出是正确的-
int main(){
char s[100000];
string a;
cin >> s >> a;
strrev(s);
if(s==a){
cout << "YES";
}else{cout << "NO";}
}
为什么会这样,有没有规定一个字符数组不能和另一个字符数组进行比较,如果有,怎么能和字符串比较?
【问题讨论】:
标签: c++ arrays string if-statement data-structures