請問c語言中的 的返回值是什麼?

時間 2021-05-30 18:23:08

1樓:暮無井見鈴

(一段時間內)都是。至少在 C99~C17 中, true 就是 int 型別的 1 。

不過在 C23 [1]中改掉了。 true 變成了 ((_Bool)+1u) ,型別變成了 _Bool 而在預處理環境中表現為無符號整數。

2樓:邱昊宇

是 int 型的 0 或者 1:

The == (equal to) and != (not equal to) operators are analogous to the relational operators except for their lower precedence. Each of the operators yields 1 if the specified relation is true and 0 if it is false.

The result has type int.[1]

[2]C89 裡只有前半句,但具體的已經在它引用的 relational operators 裡說了相同的話:

Each of the operators < (less than), > (greater than), <= (less than or equal to), and >= (greater than or equal to) shall yield 1 if the specified relation is true and 0 if it is false. The result has type int.[3]

另外,雖然 C99 開始有了 bool(_Bool)型別,但對應的 true 和 false 展開後仍然是 int 型的 0 和 1,不是布林型。

3樓:豆戰聖佛

C語言沒有bool型別值,也就沒有true和false的概念。相等判斷返回的只是0或1。

在while(),三目運算判斷等等判斷語句裡,判斷的也只是0或非0。所以可以拿任意的int數字來充當判斷條件。所以有的人會直接在判斷語句裡寫運算,只要算出來結果不是0,就能通過。

c語言中的RETURN()返回值是什麼意思?

大多數函式在執行完畢後,需要向呼叫者報告函式的執行結果,就像大多數leader都會要求 及時回話 一樣。函式的執行結果可以是數學計算的值,也可以是用以表示操作執行狀態的其他值 例如寫磁碟檔案是否成功,成功則搞0,不成功則報告其他值 一般而言,向呼叫者報告執行結果是通過函式的返回值來實現的,也就是通過...

怎樣生動的理解C語言中的返回值return?

醉臥沙場 知道C語言的返回值是什麼並不難,它一般只是乙個儲存在約定暫存器 比如eax 中返回給呼叫函式讀取的數值而已。但是如果你需要了解整個函式呼叫以及返回的過程,才能對其有更全面的理解。我給很多人解釋過函式呼叫和返回的事情了,所以這裡不再過多贅述細節。有興趣的話可以看我為此寫的系列文章 醉臥沙場 ...

C 的函式返回值是如何構造的?

你如果是想問為什麼少輸出乙個new的話,那是因為F在隱式建立返回值物件的過程中,呼叫的是複製建構函式A const A 而不是預設的無參建構函式A 所以你自定義的無參建構函式A 並沒有捕獲到這次構造。include using namespace std struct A A A const A o...