关于#%d#的问题,如何解决?

img


就是我输a=5时就行,但我输入scanf("%d",&a)。就不行。

  • 你文件名后缀是cpp, 也就是 c++ 文件,它的语法比较严格,scanf 要让你换成更安全的 scanf_s
  • 你可以把文件名改成.c 结尾的,也就是c文件, 它使用 scanf 就没有这个提示了。

就是把scanf函数换成scanf_s函数,多一个参数是指明缓冲区长度,不然会有缓冲区溢出风险,成为被攻击漏洞

用scanf_s() 函数替代 scanf() 函数,scanf_s()函数的详细说明:https://baike.baidu.com/item/scanf_s/443572?fr=aladdin