[英]Explain variable declaration and output in this example
我對這個例子感到困惑:
int x = 5;
if (x==5) cout << x; // output 5
if (x==6) cout << x;
if (x=6) cout << x; // output 6
x = 0;
if (x=0) cout << x;
x = 5;
if (x-5) cout << x;
if (x-6) cout << x; // output 5
我首先理解if (x==5)
,但是為什么當 x = 5 時它在if (x=6)
處輸出 6,為什么它在if(x=0)
不輸出 0
if (x=6)
不是比較,而是賦值。 您將 6 分配給 x 並且表達式的返回值是 6,它不是 0,因此它為真。
類似於if (x=0)
表達式 x=0 得到 0 所以這意味着if(0)
關於計算機的事情是它們非常直接。 缺少的分號或添加的字符可以完全改變程序的功能。 因此,在處理程序時,您需要像計算機一樣小心。
正如@juanchopanza 所暗示的, ==
和=
- 之間存在差異,而您已經知道它是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.