前邊我就不寫了,重點是char c1,c2;c1=197;c2=198;printf("%c,%c",c1,c2);printf("%d,%d",c1,c2);輸出結(jié)果為毛是?,?-59,-58
2 回答
已采納

xungeer29
TA貢獻46條經(jīng)驗 獲得超20個贊
197,198超出ASCII碼范圍了,無法輸出char型c1,c2,輸出int型超出127就從-128往前計數(shù)。127+1=-128,所以197輸出-59,198輸出-58

onemoo
TA貢獻883條經(jīng)驗 獲得超454個贊
那你期望打印出什么呢??
c1 c2 都是字符型。printf 中 %c 表示將它們按照字符來打印,一般用的字符編碼都是 ASCII,你去查查 197 和 198 在 ASCII 中表示什么字符。如果你的終端顯示不出這些字符就會打印出問號。
%d 表示按照整型來打印。char 也是整型,只占用是一字節(jié)。197 和 198 在一字節(jié)中最高位為 1。如果 char 是有符號整型的話,那它表示的值就是負值,197 和 198 分別為 -59 -58。看起來你這里 char 是有符號整型,所以最后打印出兩個負數(shù)。
- 2 回答
- 0 關(guān)注
- 2154 瀏覽
添加回答
舉報
0/150
提交
取消