C语言 关于fgets函数

比如
char ch;
fgets(&ch,n + 1,fp);
把fp中的文件放入ch的地址中,ch有可能会溢出吗

当然有可能溢出,一般来说不会声明一个字符变量,然后把读取的一段数据往一个字符变量所在的地址放(那字符变量后面的内存不是都被盖了?),正确的用法是malloc一段大小的内存,一次读取的大小不超过这段内存的大小,这样才安全。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-24
可能会溢出。

内存中给ch分配一个字节的空间,而你这里是读取n+1个字节,只要n>0就会出现溢出。本回答被网友采纳
相似回答