【发布时间】:2015-09-24 14:39:27
【问题描述】:
我对 c++ 很陌生,目前正在编写一个与这个问题无关的凯撒密码程序,但我不知道为什么我会收到此代码错误。
char alph[] = "ABCDEFGHIJKLMANOPQRSTUVWXYZ";
string key;
cout << "Enter your key: \n";
getline(cin, key);
int numKey;
for(int j = 0; j<= 26;j++ ){
if (alph[j] == key){
numKey = j;
}
}
在我的主函数中还有更多不必要的内容,但我在 if(alph[j] == k) 语句中遇到错误:“错误:二进制表达式的无效操作数('int' 和 'string'( aka 'basic_string, allocator >'))" 如果有人能告诉我我做错了什么,将不胜感激。提前致谢。
【问题讨论】:
-
字母表中的 26 个字符,由于
<=,程序中有 27 个循环。这不是致命的,因为终止零字节,但很可能不是你想要的。 -
我知道这是一个没有实际应用的编程练习。但是看到人们假设 26 个字母的拉丁字母足以满足 任何事情 让我的皮肤爬行...... ;-)
-
令我困惑的是,当您不知道问题出在哪里时,为什么您认为您可以决定什么是必要的?
-
@DevSolar:26 个字母的拉丁字母足以处理很多很多事情。
-
@DevSolar:不,阳光明媚,我所有的代码都在工作。谢谢你的慰问。你呢?
标签: c++ string for-loop equality