A. c語言int c;c='\xe0';printf("%d",c);要詳細推算過程。
int c;//聲明變數c為整形變數。
c='\xe0';//將字元常量 『\xe0'賦值給整形變數c,在此間,字元常量『\xe0'會自動提升到整形常量0xFFFFFFE0
printf("%d",c);//輸出 整形變數的十進制格式,即 -32
B. C語言怎麼輸出特殊字元^| <- ->上下左右字元
上下左右 通常 作 功能鍵 使用,例如 在 編輯器 (notepad, word 之類),用來移動游標一行或一格使用。
C語言 如果 想要輸出 它們的鍵值,則需要 做點功課。
上下左右 是 雙鍵值,(ESC, F1,F2,...F12 等等 也是 雙鍵值),當用 getch() 讀輸入鍵時,要讀2次,例如:
int key,key2;
key = getch(); //讀第一次
printf("\nkey value = 0x%02x -- %d\n",key,key);
// 若是上下左右鍵
if (key == 0xe0) {
key2 = getch(); //讀第2次
printf("\nkey value = %02x %02x-- %d %d\n",key,key2,key,key2);
};
上下左右鍵 鍵值 是 0xe048,0xe050,0xe04b, 0xe04d (與控制台設置有關,這是英文屏幕)
自己輸出功能時 要做 鍵值比較,例如 if ( key==0xe0 && key2==0x4d) 游標右走多少距離。
^,| 是單鍵值,key = getch(); 讀一次就有了。
C. C語言中字元串"\x81\x05\xE0\x5A\x47\x00\x01\x00"代表什麼
確切地說,C語言中,"\x81\x05\xE0\x5A\x47\x00\x01\x00" 是一個用16進制ASCII碼表示的字元串。這個字元串包含8個字元,每個字元都是用16進制來表示的,實際分配的空間是9個位元組。
以下這兩種表示方式實際上是等價的:
char xx[]="\x81\x05\xE0\x5A\x47\x00\x01\x00";
char xx[]={0x81,0x05,0xE0,0x5A,0x47,0x00,0x01,0x00,0x00};
注意,後面應該多一個0x00,因為第一種是字元串表達方式,編譯器會自動增加結束符0.