請教 C語言中,下面賦值的執行結果

2023-03-05 14:05:16 字數 1859 閱讀 6812

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不是...