新手问个疑惑的有关问题 在if 语句中的多条件是用| 还是用||呢,如何结果一样

新手问个疑惑的问题 在if 语句中的多条件是用| 还是用||呢,怎么结果一样
刚开始学 有一题目是这样的
cin >> word;
if (word == "exit" | word == "rerurn" | word=="close")
//break;
cout << word;
if (word == "a" || word == "an" || word == "the")
cout << word;

第一个IF 跟第二个IF 的效果是一样的,   | 不是按位或吗? 第二个IF用|| 可以理解,不过第一个是为什么呢?
还是这两个要等用变量或表达式才会看出效果?


------解决思路----------------------
这两种用法也有不同,如果用逻辑或(
------解决思路----------------------
),那么如果判断第一个表达式为真,他就不再判断与计算之后的了,因为之后的无论是什么,结果都为真。而按位或(
------解决思路----------------------
)则会判断所有的
------解决思路----------------------
引用:
Quote: 引用:

以前C语言没有
------解决思路----------------------
, 就是用
------解决思路----------------------
代替的, 所以
------解决思路----------------------
的优先级有点奇怪, 现在有了, 当然就用
------解决思路----------------------
了.

就是说,两个都没错,
------解决思路----------------------
 是对旧C的兼容? 
不用管,以后用这种条件语句就直接用  
------解决思路----------------------
  就可以了?


一般来说简单运算互换没有问题, 但是混合函数就不同了.

if(true 
------解决思路----------------------
 func())..... 这会调用函数func()

if(true 
------解决思路----------------------
 func())....则不会调用func().

用于条件的"或", 就用
------解决思路----------------------
就行了, 
------解决思路----------------------
 还是用在位运算.