scanf函數細節

1、輸入數組元素時需要注意的細節

如果數組名,就不需要&,如果是數組元素,就需要&;因此,上述方法1中,s[i]前如果不加&就會報錯。

2、內存問題

看上面的程序,按理說s[4]不應該存在的,可是卻不報錯,s[4]的輸出結果爲s[3]的。

知識點:如果一個長輸入讀到一個短的緩衝區,多出來的字符將被寫入到緩衝區後面的內存位置。
char* gets(char *buffer);存在同樣的問題。讓黑客可以改寫你內存中的東西,然後植入自己寫的病毒程序。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章