亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言的一個小問題

C語言的一個小問題

C
飲歌長嘯 2018-08-17 06:09:22
統計輸入中各個數字出現的次數的int c; while((c=getchar())!=EOF) {  if(c>='0'&&c<='9')      ++ndigit[c-'0'];                            //++ndigit[c]為什么不行?   }
查看完整描述

1 回答

?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

getchar()輸入的是一個字符。不是int類型的數字。所以ndigit[c]是c的Ascii碼值,所以要減去'0'的ascii碼值才能得到正確的數字。

比如輸入的是9 

9的ascii值是57 那么ndigit[c]就是ndigit[57]。而ndigit[c-'0']就是ndigit[57-48]=ndigit[9]


查看完整回答
反對 回復 2018-08-27
  • 1 回答
  • 0 關注
  • 711 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號