c 賦值(賦值為函式返回值)語句的返回值問題

2021-10-08 06:59:48 字數 351 閱讀 4154

不知道為什麼,之前一直腦子裡有乙個誤解,賦值語句的返回值應該是1(成功賦值)或0(賦值失敗)

今天其實在學linux的時候突然揣摩了一下**才發現這個問題:

if ((dir = opendir("/home/ljz/desktop")) == null)

opendir返回空說明目錄開啟失敗

這句**裡面==null的判斷在

(dir = opendir("/home/ljz/desktop"))

這個賦值語句之外判斷,這說明了

賦值語句的返回值就是變數所賦的值

所以才能這麼寫

基礎不牢地動山搖呀qaq

Python元組 賦值與返回值

1.對兩個變數的值進行交換是一種常用操作 用常見語句來實現的話,就必須有乙個臨時變數。比如下面這個例子中是交換 a 和 b t1 a b c temp t1 t2 t1 t1 temp 這樣解決還是挺麻煩的 用元組賦值就更簡潔了 t1,t2 t2,t1 上例中,等號左邊的是變數組成的乙個元組 右邊的...

C語言賦值運算子的返回值

今天看c陷阱與缺陷,又看到了一處提到strcpy,下面有庫裡面的實現的 這是整理過的,不是原書的 char strcpy char dest,const char src while dest src 0 這一句讓我想了很久,以前一直認為賦值運算子返回的是是否複製成功,現在看起來它應該返回的是左值的...

C語言函式返回值為指標和函式返回值為void

有時遇到函式返回值為空和函式返回值為指標的情況下,需要在前面定義該函式 函式的返回值為指標也必須在此定義,函式的返回值為void必須在此定義,返回值是整形或者其他基本型別不需要在此定義 函式功能 把格式化的資料寫入某個字串 函式原型 int sprintf char buffer,const cha...