C語言中,while 語句中使用賦值語句

2022-05-05 19:18:12 字數 551 閱讀 6610

while()語句括號中是乙個邏輯表示式,用以判斷while迴圈是否需要繼續執行。可以是賦值語句。

while迴圈的一般格式為:

while(expr)

;//body

其中用來判斷迴圈條件的expr可以是任意表示式。當其是賦值語句的時候,含義為:先執行賦值語句,然後對左值進行判斷。如果左值為0則expr為假,while退出;否則expr為真,while繼續迴圈。

不過直接用賦值語句做expr時,編譯器可能為認為賦值操作符=是等於判斷符==的誤寫,這時編譯器可能會報乙個警告(warning),編譯器是否報警,及報警告還是錯誤(error)取決於編譯器設定。為避免這種情況,可以用while((var = expr))的形式,告知編譯器就是要先賦值再判斷,編譯器就不會理會了。

下面是舉乙個例子用來輔助說明。

函式功能,將引數字串中的所有值按照ascii碼進行累加,獲取校驗和,溢位後只取低位元組值。

char sum(char*p)

return c;//

返回校驗和

}

C語言中while語句裡使用scanf的技巧

今天友人和我討論了一段 是hdu的oj上一道題目的解,如下 include return0 起初,我以為 中while語句裡的按位取反運算子寫錯了,應該是邏輯非運算子。這時我在quora上找到了類似的問題,我對其中一篇答案做了修改和翻譯 查閱scanf函式的man手冊,關於返回值的說明如下 函式返回...

switch語句中使用break???

break是跳出迴圈使用的。而在switch語句中使用switch語句是結束switch語句。比如 switch x 如果沒有break語句,且x 1 的情況下輸出的結果是 這是一樓 這是二樓 這是三樓 這是default語句 這裡大家注意,switch語句中的x並不是判斷,而是從這個開始繼續往下執...

C語言 while語句

案例 用while語句求1 100的累計和。案例 用while語句求1 100的累計和。程式功能 求1 100的累計和 main printf sum d n sum 程式運 況如下 sum 5050 1 一般格式 while 迴圈繼續條件 2 執行過程 執行過程 1 求解 迴圈繼續條件 表示式。如...