一、报警告内容:

警告: ‘gets’ is deprecated (declared at /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/stdio.h:638)
(.text+0x86): 警告: the `gets’ function is dangerous and should not be used.
在这里插入图片描述
虽然程序能够运行,但有警告提示,因为gets函数使用比较危险,gets函数不检查预留存储区是否能够容纳实际输入的数据量,如果输入的字符大于定义的数组长度,会发生内存越界。

二、解决方法

使用 fgets 代替 gets: fgets(temp, sizeof(emp), stdin);
例如:
gets(str); 修改为:
gets(str, 20, stdin);
警告消失!

Logo

更多推荐