1樓:匿名使用者
類似於 if ( (a+=2) && (c=0) ) ....這樣的表達方式是非常不妥的。因為無論a+=2還是c=0本身都是乙個賦值語句而不是表示式,而乙個賦值語句的返回值是沒有意義的。
因此難以判斷是真是假,在不同的機器上使用不同的編譯器編譯,可能結果不同。象這樣寫程式就弄不清楚你注重的到底是判斷條件,還是條件內部的變數賦值。這種程式將來很難維護,因為***太強。
最起碼來說,第一行中對c的初始值說明完全沒有起到作用,因為還沒等使用就被馬上重新賦值了。嚴格地說,該判斷條件(包括其***)應寫為
a+=2;
c=0;
if ((a!=0) && (c==0))....
2樓:匿名使用者
你的語句有誤,如果真要判斷應寫為
if((a==(a+2))&&(c==0))才對,等於號是要雙等於,這樣寫就是
假&&真,結果為假
你要實在這樣寫,那麼我們就按賦值來說
a+=2就是5這是真,c=0這是假
那就是真&&假為假
3樓:匿名使用者
建議你去我的空間中引用的第乙個位址看看!
那裡有這方面的介紹,可以讓你對c語言有很多新的感受的!!
就是wentao的個人部落格,不錯的餓!
4樓:匿名使用者
樓上有幾位回答的人估計都是學vb的,看清楚要求摟主已經說了是在c語言中判斷
錯誤1: "假&&真" "a+=2既a=a+2所以是假 , c=0是真 "
更正: a+= 2 這是true, c=0 這個是false;
在c語言中 = 是賦值,==才是比較.
錯誤2: " 乙個賦值語句的返回值是沒有意義的"
更正 :c語言中乙個賦值語句的返回值就是最左邊的值,所以賦值的返回就是a 和 c
所以 判斷後應該是 true&&false
5樓:
前幾位大蝦都怎麼了,是我看錯了還是你們都錯了....
"假&&真" ?? !!賦值語句啊,那是!
樓上的是正解(不過這是常識啊)....爆寒
6樓:匿名使用者
(a==(a+2))&&(c==0)才有意義啊,你寫的0直接付給c,一定是假了。
7樓:
對於前面是假的話,且不檢查後面的。對於前面是真的話,或不檢查後面的。
象問題裡的,如果變數(a或c)是0就是假,非0就是真。
8樓:黃山
假,因為(c=0)賦值式的值為0,而且整個式子是與運算,所以最終結果為0,即假!
9樓:風雪冰雹
a+=2既a=a+2所以是假
c=0是真
&&有乙個是假結果就是假
10樓:匿名使用者
首先,這樣用表示式作為判斷語句非常不好。一般不會這樣使用。
對於這個題目,它會把賦值語句的最終賦的值作為結果,所以這和a的初值有關係。在此題中,a的初值為3,再將其+2,得5,不為0,則是真,對於c直接賦值為0,此處的0則作為判斷物件,故為假。
如果將c的值改賦為1,則此判斷句為真,在此基礎上如果將a的初值改為-2,則又為假,明白我什麼意思了嗎?
11樓:
假,因為是且運算,&&運算子c=0,即任何不為1的數便為 假 ,所以無論左邊是什麼結果,此表示式結果均為假
在C語言中0與0的區別是,C語言中的0與 0 有什麼區別?
他們是常量中不同的資料型別呀 0是整型常量,佔記憶體兩個位元組 0 是字元常量,佔記憶體乙個位元組 只是 0 在電腦中用電腦語言所代表的數值和0是相同的 字串常量和字元常量是不同的量。它們之間主要有以下區別 1 字元常量回由單引號括起來,字元答串常量由雙引號括起來。2 字元常量只能是單個字元,字串常...
在c語言中ak什麼意思,在C語言中,ak0什麼意思
字串結尾中止字元 比如 定義乙個字串,char a 3 對字串賦值如下 a 0 a a 1 b a 2 c a 3 0 0 字元簡單說就是告訴一串字元的結尾符 0 這個表示字串結束符 a k 0 表示把結束符賦值給字元陣列a的第k 1個元素 c語言中x 0是什麼意思 判斷變數x的值是否為0 如果是 ...
c語言中0是什麼意思,c語言中x 0是什麼意思
判斷變數x的值是否為0 如果是 那麼這個式子的邏輯值為1 或者真 否則 其邏輯值為0 或者假 例如if x 0 如果x為0,那麼x 0就為1 或者真 就執行否則就跳過不執行 是邏輯bai運算子du,用於判斷是否等zhi於。例如 y x 0 中如果daox的值回為0,那答麼 x 0 的運算結果就是1,...