爲什麼這樣嗎?或不等於
#include <iostream>
#include <string>
using namespace std;
int main(){
string s="a";
if((s=="cm")||(s=="in")||(s=="ft")||(s=="m"))
cout<<s+" Is an illegal value";
else
cout<<"I like "+s;
return 0;
}
但隨後這並不
#include <iostream>
#include <string>
using namespace std;
int main(){
string s="a";
if((s!="cm")||(s!="in")||(s!="ft")||(s!="m"))
cout<<s+" Is an illegal value";
else
cout<<"I like "+s;
return 0;
}
http://ideone.com/TXUXA 我想兩個答案是 「我喜歡」。
爲什麼你會期望第二個給「我喜歡」?只需追蹤它:「a」!=「cm」?是。 「a」!=「in」?是。 「a」!=「ft」?是。 「a」!=「m」?是。 (s!=「cm」)或(s!=「in」)或(s!=「ft」)或(s!=「m」)?是。 – 2011-03-30 11:31:16
多麼尷尬,你是對的,我不應該指望「我喜歡」,謝謝大家的回答。 – 2011-03-30 11:45:12