在C語言中,執行下面兩個語句後,輸出的結果為char c1 97,c2 98 printfd c ,c1,c2 為什麼

2021-04-17 17:53:42 字數 1392 閱讀 4999

1樓:

當執行下面兩個語句後,輸出的結果為97 b。

a的ascii碼是97,b的ascii碼是98。

%d表示資料版按十進位制有符號

權整型數輸入或輸出,%d列印的是整形為97。

%c列印的是字元,為b。

所以,輸出的結果為97 b。

擴充套件資料printf中分別代表的輸出型別

%a(%a):浮點數、十六進位制數字和p-(p-)記數法(c99)%f:浮點數(包括float和doulbe)%e(%e):

浮點數指數輸出[e-(e-)記數法]%g(%g):浮點數不顯無意義的零"0"

%i:有符號十進位制整數(與%d相同)

%u:無符號十進位制整數

%o:八進位制整數 e.g. 0123

%x(%x):十六進位制整數0f(0f) e.g. 0x1234%p:指標

%s:字串

%%:"%"

2樓:匿名使用者

a的ascii是97;b的是98

%d列印的是整形為97

%c列印的是字元為b

結果是97,b

c語言 有以下定義和語句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"a"); 則輸出結果是__ 20

3樓:匿名使用者

輸出結果為:3,e。

解析:c語言中的字元型別是用 ascii 碼儲存運算的回,運算 c2-c1時,等答

於 'e'-'b',等於'e'的 ascii 碼 101 -  'b'的 ascii 碼 98,等於 3 ,又因為 printf 輸出式樣化字串中使用規定符%d輸出,所以是直接輸出整型資料 3。

而運算 c2-'a'+"a"等價於 'e'-'a'+"a",等價於'e'的ascii 碼-'a'的ascii 碼+"a"的ascii 碼='e'的ascii 碼。而printf 輸出式樣化字串中使用規定符%c輸出結果,說以是輸出字元 e。

因此,最終輸出結果為:3,e。

4樓:匿名使用者

字元會被轉成asc碼當整數計算!!!c2-c1 = 'e'-'b' = 3;中間相隔三個嘛,連續的字元肯定是相隔1的,不然就專

不符合屬設計原理!! c2-'a'+'a' 不用想,肯定是小寫轉大寫,應該是'e'; 乙個大寫字元和小寫字元做差,就是大寫字元和小寫字元之間的asc碼差碼!!再加上乙個小寫字元,就是小寫轉大寫

5樓:匿名使用者

應該是printf("%d,%c\n",c2-c1,c2-'a'+'a');

c2-c1='e'-'b'=3

c2-'a'+'a' = 'e'

輸出結果為3,e

c語言中for語句是怎麼用的c語言中兩個for語句的是怎樣迴圈的

c語言中for語句用法 for是c語言中的乙個關鍵字,主要用來控制迴圈語句的執行。舉例 int i for i 0 i 3 i i 0是初始化部分 i 3是迴圈判斷條件部分 當滿足此條件時才進入執行for迴圈中的語句 i 是執行完迴圈體語句後的操作 上面的for語句就是控制輸出3次helloworl...

c語言兩個for語句怎麼迴圈的,比如像下圖的那樣

裡面bai 就才乙個for啊,你這個程式是du 將陣列c 10 裡的數依zhi次輸出吧,dao結果應該是 1234567890pressanykeytocontinue因為你的回printf n 沒包含答在for裡面,所以只能是到最後輸出0了才有乙個回車,結束程式。而你的另乙個函式voidfun i...

c語言中斜槓的註釋和兩個斜槓的註釋完全相同嗎

沒有三個斜槓的 表示這一行註釋 表示這段裡面註釋 doxygen 中可以通過 來標明這條註釋會被用於文件生成。當然,在正常編譯過程中這和普通的註釋都會被直接忽略。現在的c語言中有雙斜槓註釋嗎 最新的標準是支援的,可以單行 也可以多行 以前的c89貌似不行 如何編乙個c語言程式,功能是去掉 中的雙斜槓...