Re: [問題] dev c++ 中 scanf 疑問 -再追問-

看板C_and_CPP (C/C++)作者 (世界‧由我定義)時間12年前 (2014/04/25 18:44), 編輯推噓1(107)
留言8則, 5人參與, 最新討論串1/1
原本我沒有要另開新文章,不過因為我表達不好, 我想再開新文章請問, code如下: int main() { char ch[10]; printf("keyin string:"); scanf("%9s",ch); printf("hi , %s , how are you?",ch); system("pause"); return 0; } 小弟已經把 %s 改為 %9s, 的確即使超過9各字元,最後還是以9各字元輸出, 不過小弟又有問題,假如我輸入 10各字元, 那取到第9各後,第10個就是 \0 不過原本我輸入第10各字元,會跑到哪邊去呢?是編譯器自動砍掉? 還是會向後挪一位? 還是complier 就根本不管你輸入,超過9個就視而不見了? 不好意思,小弟是c語言新手,c語言真的是浩瀚無窮~~~ 還想請問各位大大,學c語言是否要多看 ansi-c 的標準規範呢? 我有去試著看 stdio.h 裡面的東西,不過裡面到底是在講什麼?? 好深奧~~~ 感謝各位大大指導~~~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.70.10.203 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1398422671.A.383.html

04/25 19:21, , 1F
就是視而不見
04/25 19:21, 1F

04/25 20:12, , 2F
原來輸入的第10個字會留在buffer裡面
04/25 20:12, 2F

04/25 20:12, , 3F
你再scanf一次就會看到了
04/25 20:12, 3F

04/25 20:13, , 4F
還有, 硬把16個字塞進只有10格的ch會發生什麼事, 這不是
04/25 20:13, 4F

04/25 20:14, , 5F
編譯器可以預知的
04/25 20:14, 5F

04/26 10:44, , 6F
stdio.h裡面的東東根本不用看好ㄇ 想太多
04/26 10:44, 6F

04/27 04:48, , 7F
112 安安
04/27 04:48, 7F

04/28 09:57, , 8F
感謝各位大大,小弟虛心受教,感謝ING~~~
04/28 09:57, 8F
文章代碼(AID): #1JMZoFE3 (C_and_CPP)
文章代碼(AID): #1JMZoFE3 (C_and_CPP)