[問題] C,今天用scanf打出了奇怪的東西

作者: ga6611220 (疥瘡貓)   2014-04-11 20:01:47
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
各位大大好,小弟是C程式語言的初學者
今天在練習scanf函數時
我是設char 卻錯把scanf格式字串輸入成%d
像這樣:
char ch
printf("請輸入欲列印的字元:");
scanf("%d",&ch);
但結果這樣還可以顯示
並且印出來
如果是1就是笑臉
5是梅花6是黑桃
這種意外
我自己也覺得又氣又腦又好笑
就想要來請問各位大大這是打哪來的東西呢?怎麼會這個樣子??
作者: Dammmmmn (阿緯阿)   2014-04-11 20:09:00
應該是ASCii對應的圖案
作者: PUTOUCHANG (自己的廢文自己發)   2014-04-11 22:36:00
作者: uranusjr (←這人是超級笨蛋)   2014-04-11 22:41:00
Windows 在解析 Code Page 時專有的特異功能
作者: virve (std::vie)   2014-04-11 22:59:00
想到當年程設作業要求印出撲克牌花色 但這是Windows專用啊XD
作者: remizu (remizu)   2014-04-12 01:16:00
關鍵字:Code page 437 / Windows code page另外用char接%d可能有損毀堆疊的風險,正式寫作時請避免。

Links booklink

Contact Us: admin [ a t ] ucptt.com