c語言里字符和整形怎么算術(shù)運(yùn)算
char n;int c;c='8'+'0'-2*'0';n=c%10+'0';printf("%c",n);為啥是字符8,而不是字符6,,還有2*'0'是換算成2*48嗎
你要這樣理解 ,,在c語言中,字符實(shí)質(zhì)上也是一個(gè)整形,,它的范圍為-128~127(無符號(hào)的為0~255)
而常量字符,,實(shí)際值是它的ASCII碼,如'8' 就等于56(這個(gè)可查ASCII表),,而'0'為48
所以
c='8'+'0'-2*'0'=56+48-2*48=8
而
n=c%10+'0'=8%10+48=8+48=56
你若用%c輸出某一字符的值,,它就是輸出該ASCII碼值對(duì)應(yīng)的字符,因?yàn)?6對(duì)應(yīng)的是'8'
所以上面的程序結(jié)果就是
8
相關(guān)推薦
便查問答是一款實(shí)用的網(wǎng)絡(luò)熱門知識(shí)問答平臺(tái),,專注于分享你不知道的知識(shí),、經(jīng)驗(yàn)及生活問題,在這里所有人都能找到答案歡迎網(wǎng)友參與討論,。