C语言中,scanf与scanf_s的简单区别
生活随笔
收集整理的這篇文章主要介紹了
C语言中,scanf与scanf_s的简单区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C語(yǔ)言中,scanf與scanf_s的簡(jiǎn)單區(qū)別
scanf()不會(huì)檢查輸入邊界,可能造成數(shù)據(jù)溢出,scanf_s()會(huì)進(jìn)行邊界檢查。
如name[5],
scanf("%s",name),如果輸入abcdefgh,則會(huì)使得fgh溢出進(jìn)入其他地方,造成程序錯(cuò)誤,
容易被黑客利用;而scanf_s("%s",name),則會(huì)只會(huì)接收前5個(gè)輸入,其后的無(wú)效,避免了程序的漏洞。
posted on 2018-02-28 15:42?南郵21棟 閱讀(...) 評(píng)論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/hhjfighting/p/8483983.html
總結(jié)
以上是生活随笔為你收集整理的C语言中,scanf与scanf_s的简单区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何找到哪些数据库中哪些用户有DBA权限
- 下一篇: Oracle做ip连接限制