%s:“跳過0或多個 white space,由鍵盤緩衝區裡讀取連續不是 white space 的字元”(white space=空格、 '\t、 '\n' )
%c:只讀取緩衝區的一個字元
%d:跳過所有white space讀取數字
所以像在輸入數字時,多打空格仍然能被正確存進去。
scanf(" %c",&c);
%c前加空格,代表跳過緩衝區所有空格直到遇到字元。
scanf("%[^\n]", str);
代表直到碰到換行字元前的字元都存進去str,等同於gets(str),都是避免遇到空白讀不進去。
sscanf()用法:http://programmermagazine.github.io/201312/htm/article2.html
參考文章:
http://squall.cs.ntou.edu.tw/cprog/practices/scanfCommonTraps.pdf
沒有留言:
張貼留言