大家好,歡歡來為大家解答以上問題。scanf的正確使用及技巧,scanf_s很多人還不知道,現在讓我們一起來看看吧!
1、scanf_s()-安全scanf函數,第三個參數應加上要采集的最大數據量。
2、char s[20];
3、scanf('%s ',s,20);
4、例如:
5、#包含stdio.h
6、int main()
7、{
8、雙倍百分比;
9、scanf_s(' % lf % % ',百分比);
10、printf('%lf ',百分比);
11、返回0;
12、}
13、輸入:du4.5%
14、產量:450萬
15、%已從輸入流中消除。
16、擴展信息:
17、ANSI中沒有scanf_s(),只有scanf()。scanf()在讀取時不檢查邊界,因此可能會導致內存訪問越界,例如,分配了5個字節的空間,但讀入了10個字節。
18、char buf[5]={ ' \ 0 ' };
19、scanf('%s ',buf);
20、如果輸入1234567890,剩下的會寫到另一個空間。
21、如果在上面的代碼中使用了scanf_s,那么第二行就要改成scanf_s(' % s ',BUF,5),也就是說最多要讀5-1個字符,因為buf[4]要放' \0 '
22、參考來源:百度百科-scanf_s
本文到此結束,希望對大家有所幫助。