scanf函数细节

1、输入数组元素时需要注意的细节

如果数组名,就不需要&,如果是数组元素,就需要&;因此,上述方法1中,s[i]前如果不加&就会报错。

2、内存问题

看上面的程序,按理说s[4]不应该存在的,可是却不报错,s[4]的输出结果为s[3]的。

知识点:如果一个长输入读到一个短的缓冲区,多出来的字符将被写入到缓冲区后面的内存位置。
char* gets(char *buffer);存在同样的问题。让黑客可以改写你内存中的东西,然后植入自己写的病毒程序。

 

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