vscode执行c代码scanf报错问题
在vscode中,安装 run code 设置 run in terminal 为 true,
执行带有 scanf 的代码,报错
又安装了 run in terminal
再次执行,还是报错,求助
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在vscode中,安装 run code 设置 run in terminal 为 true,
执行带有 scanf 的代码,报错
又安装了 run in terminal
再次执行,还是报错,求助
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
你的图不够清晰, 我仔细看了一下, 错误提示你的scanf()传入参数类型不对, 你的a这个变量定义的int类型, scanf需要的是char类型
这里报的是警告,还是执行结果的。不过
scanf
的语法你可以查一下,第一个参数是const char*
类型,命名为format,意思是读取的格式,如%d
表示int类型,你这里的a
应该是int
型的值;第二个参数为...
,意思是不限定数目的指针的值,也就是&a
,所以你应该这样写scanf("%d", &a)
。scanf
的详细说明请查看这里。出现本问题的原因是,传参不对所致。楼上已经有同学回答,因此这里我在这里补充一个其他可能的原因(在vs下的操作情况),也是一些刚入门的同学容易遇到的。
我们在编译老的用C语言的开源项目如lua源包的时候,可能因为一些老的.c文件使用了strcpy,scanf等不安全的函数,而报警告和错误,而导致无法编译通过。
这时我们有两种解决方案:
1.在指定的源文件的开头定义:#define _CRT_SECURE_NO_WARNINGS
2.在项目,设置sdl检查为否即可
真诚的希望我的回答可以帮助到遇到类似问题的小伙伴
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
可以百度下scanf用法