1樓:匿名使用者
if(aa=3; c=5;
這個條件是成立的,
按麼執行
即將b的值4賦值給a, a=4
c的值5賦值給b, b=5
a值賦值給c c=4
if(a!=c) a=c; 即條件是a不等於c,則將c的值賦值給aif(a; 不論條件成立與否,都執行下面的語句。
a本來有值,b能將自身的值賦給a
c將自身的值賦給了a,c的值不變
;不執行其前面的判斷
2樓:匿名使用者
……不知道你說的什麼意思額……
a本來有值,賦值時會被賦值變數的值取代,而賦值變數值不變,就是說a=3,b=4
a=b則結果是a的值為4,b的值也為4
上面那個如果是一段程式的話,結果應該是
a的值為4,b的值為5,c的值為4
3樓:
注意:賦值語句標準的語句是這樣組成的;
變數=常量;
是把後邊的常量賦給前邊的變數;
1.變數可以把他看成一個"容器",這個"容器"是在記憶體中的,後邊那個常量是在cup中的;變數為什麼叫變數就是因為他可以變化,所以雖然a裡本來就有值,但是把b的值賦給a,a是變數,最後a的值就變成了b的值;
2. 雖然b把自己的值賦給了a,a中裝的是b的值,但是b本身的值是沒有變化的,b也是一個變數,在沒有別的的常量賦進b中的時候b的值是不變的;
最後的問題:一般情況下 if(a不是沒有執行,而是他執行了,但他是空的語句所以沒有意義.
4樓:
第一種:因為逗號表示式從左向右執行,所以 a=4,b=5,c=4;
第二種:判斷不成立,所以a、b、c的值不變 a=4,b=5,c=4;
第三種:判斷成立,但是是空語句,所以a、b、c的值不變 a=4,b=5,c=4;
第一種:a是變數,任何時候都可以賦值,而不管它原先是否有值第二種:變數賦值是讓左邊的變成右邊的值,右邊的值不變,所以c的值不變第三種:空語句,什麼都不做,沒有變化
5樓:匿名使用者
第一個判斷是成立的,因為此時a=3,c=5,因此大括號內語句執行,執行過後a=4, b=5, c=4;(注意逗號表示式從左向右計算).第2個判斷不成立,因為此時a和c相等.第三個判斷成立,不過即便成立,也執行空語句";",不對結果產生影響.
a是變數, 任何時候都可以賦值, 而不必管它原來有沒有值.
變數賦值只是讓左值變成和右值相等,變化的只可能是左值,右值不會變第三種情況就是個空語句,什麼都不作
6樓:桃花依舊笑冬風
就象三個瓶裝滿東西一樣,如果沒有第四個空瓶,只能倒空一個瓶,
a=b,b=c,c=a,開始的a=3的值被4覆蓋,
7樓:
if(a/* 如果aif(a!=c)
a=c;
/* 如果a不等於c, 則將c的值賦給a; 例如:a=5, c=1; 則結果為 a=1, c=1;
問:第一種情況下,a本來有值,b在這種情況下能將自身的值賦給a嗎?
答:可以, a 原來的值就被覆蓋,替換為b的值;
問:c如果將自身的值賦給了a,c的值是不是就沒有了?
答:c保留原值不變;
問:還有b的值是不是還是他自身啊?第三種情況下,;的含義是什麼?
(我不懂你的意思)
8樓:匿名使用者
最後a=4,b=5,c=4;
a雖然有值,但如果將b的值給a的話,就會將a的值覆蓋掉,但自身不變,這也就是說你的第二種情況問的,c的值是不會變的,「;」之前沒語句說明,這是一個空語句,不執行任何內容。
在C語言中,下面哪項是非法轉義字元AbB
b十六進位制 xf d項 就是 2.是非法的c語言轉義字元。a b b 0xf c.037 d a b本身是轉義字元 正確.b 如果要16進位制,需要寫成 xf 字元轉義的時候不需要寫0x的.c 037 才對,這種是8進位制轉義.d 這裡應該不是雙引號 而是 即 兩個單引號包含的一個 表示單引號轉義...
請教C語言,請教一下C語言中按位取反 的使用
在你原來程式的基礎上做了些改動,如下 include int main void int i,j,k,j1,k1 for i 6 i 100 i i 2 for j 2 j i 2 j 判斷i是由兩個素陣列成,尋找素數j for j1 2 j1 j j1 判斷j是不是素數 if j j1 0 j j...
C語言中如給int型的變數賦值inta4和int
你要顯示成01麼。這不太可能,貌似c語言中沒有用0在前面站位的格式用法。倒是可以用空格佔位,printf 5d a 當a的值小於5位的時候,會有空格在前面站位。超過5為照常顯示。這兩copy種方法的結果是沒有區別的bai 但執行過程有差別,但後者比 du前者耗zhi時,所以推薦前者。至於是dao不是...