這個程式的執行結果怎麼者麼奇怪

2023-01-23 22:40:44 字數 828 閱讀 3201

1樓:匿名使用者

c 中,字元是以asc2碼的形式來儲存的,而asc碼本身是0到255的整數,也就是是字元型變數佔的一個位元組長度。通過一定的規範約定,來代表256個常用字元。其中,a對應65,a對應97,0對應48等,連續的字母或數字則在上面的基礎上遞增,其中特別要注意的是字母大寫的碼值比小寫的小。

當一字元以c%輸出的時候,系統給出字元本身,若以d%輸出,則輸出對應的碼值,所以,假設有a,以c%輸出的是a本身,以d%輸出的是a的碼值97。希望對你有所幫助

2樓:匿名使用者

怎麼奇怪拉?

c1="a";c2="a";這樣賦值有問題啊,這是給字串賦值,而c1c2是char型。

c1='a';c2='a';這樣才是給字元賦值然後輸出%c就是原字元,%d就是字元對應的asc2碼,答案就是a a 65 97

3樓:來自雲洞巖安靜的魔芋

賦值應該用單引號,因為不是字串,

%c是以asc碼值的形式輸出的字元

%d是以十進位制的形式輸出的數字

4樓:

#include

main()

答案是:

c1=a c2=a

c1=65 c2=97

5樓:

c系列中,char和int是隱式轉換的,就是說用int型輸出char型資料,就可以輸出它的ascii碼值。

6樓:謝應宸

為什麼會奇怪啊?

%c是以asc碼值的形式輸出

%d是以十進位制的形式輸出

有以下程式 程式執行後的輸出結果是

加上 你就非copy常容bai易明白 main else 恩,是2啊。c語言規定,如果if後面沒有 那就只包括if後面的那條語句內,但由於這道題if後面還是if else語句 他們是一條語容句 所以相當於 main printf d n d 第一個if條件就不符合了,所以直接執行最後的輸出語句,所以...

下面程式的執行結果是mainint b 101,2,3,4,5,6,7,8,9,10int q b

p是b的首地址,為int型,也就是第一個元素,p 表示下一個int型資料,所以p 2 表示第三個元素即3 選擇c,注意,這個跟資料型別有關,如果p為int,b為char,一般的 int是16位,char是8位,即2倍關係,那麼這個時候p a 就相當於b 2a 了,a是步長。q是指標,初始q指向陣列首...

以下程式執行後的輸出結果是mainint a,b,c a 1 b 3 c 5 printfd,d na,b

結果是3,10啊。這主要是由於自增操作符 前置還是後置決定的,比如說 a,就是先自增再使用,而a 就是說先使用再自增。執行printf d,d n a,b a b c 這條語句的過程中,a 2 就是說已經自增了 b 3 還沒自增 等這條語句執行完之後,那麼a 2 b 4 我執行了下,結果是3,10 ...