簡體   English   中英

解釋這個例子中的變量聲明和輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM