作者Dminor (低小調)
看板C_and_CPP
標題[問題] 新手發問,C語言印特殊符號
時間Sat May 14 09:13:11 2016
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
CodeBlocks
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
我想要用char印一些特殊符號,像是照書上的作法
char ch=228;
printf("%c",ch);
預期要能印出Σ符號,結果什麼都沒有出現……
餵入的資料(Input):
預期的正確結果(Expected Output):
Σ
錯誤結果(Wrong Output):
什麼都沒有
程式碼(Code):(請善用置底文網頁, 記得排版)
char ch=228;
printf("%c",ch);
補充說明(Supplement):
我還很菜,真的不知道是出什麼問題了,
請各位大大幫解惑QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.103.41
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1463188394.A.EFC.html
1F:→ shec1213: C的char是用ASCII 查查看對照表 228應該不是可顯示字元 05/14 09:51
2F:推 noodleT: ascii 並沒有 Sigma 的符號 05/14 12:00
3F:推 chienweichih: Char 的範圍是-125~124 05/14 12:34
那如果我想指定變數為特殊符號的話該怎麼做呢?
附帶一問,如果是想指定成中文字呢? 感謝~~
※ 編輯: Dminor (140.116.103.41), 05/14/2016 12:46:49
4F:→ Caesar08: C++14標準,char是-128到127或0到255。不是-125~124 05/14 13:21
我寫C~~(這有差別嗎> <)
我該怎麼讓printf("%c",ch);印出Σ符號呢
5F:→ longlongint: code page 437 05/14 15:19
6F:推 LiloHuang: 先呼叫 SetConsoleOutputCP(437); 就會印的出來 05/14 16:15
8F:→ LiloHuang: 英語系國家預設通常是 CP437,屬於 extended ASCII 05/14 16:21
9F:→ LiloHuang: 因此書上的作法算是很常見的 :P 05/14 16:22
10F:→ LiloHuang: 現在大部分都用 Unicode 字元居多,可考慮用 _setmode 05/14 16:24
11F:→ LiloHuang: _setmode(_fileno(stdout), _O_U16TEXT); 05/14 16:25
13F:→ LiloHuang: 如此一來Σ要跟中文字一起印到 Console 才不會有問題 05/14 16:28
感謝!
※ 編輯: Dminor (140.116.103.41), 05/15/2016 12:36:58
14F:推 chienweichih: 抱歉 我怎麼突然冒出124這奇怪的數字 07/17 02:44