C語言的程式代碼如下:
#include "stdio.h"
main()
{
int i;
for (i=1;i<256;i++)
{
printf("%c ",i);
}
getchar();
}
顯示結果:
編碼在127以上的都顯示為“?”。
這是因為
編号在128~255的是擴充的編碼,原本就不是作為顯示用的,當然在不同的終端上顯示就不一緻,這完全取決于不同的顯示終端的處理。 有些ic廠商會重新做液晶顯示的驅動,将大于127的ascii碼做成他們要的圖示,比如一個充滿電的電池的圖示,一個表示加鎖的圖示。
通常情況下出現這個問題的原因是控制台使用了中文代碼頁,要顯示擴充ASCII碼,則将執行這個程式的控制台的的代碼頁改為 437
(OEM-美國) 即可!
方法是:請設定Dos視窗的預設代碼頁為美國而不是簡體中文。右鍵單擊Dos視窗的标題欄,在彈出菜單中選擇"預設值",修改預設代碼頁為"437
OEM-美國",就可以了。
圖示:
1、在顯示的控制台視窗中,右擊标題欄。
2、更改“預設代碼頁”。
3、關閉控制台視窗,重新運作程式。