vscode执行c代码scanf报错问题

发布于 2022-09-11 19:55:29 字数 213 浏览 9 评论 0

在vscode中,安装 run code 设置 run in terminal 为 true,
执行带有 scanf 的代码,报错

又安装了 run in terminal
再次执行,还是报错,求助

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

好久不见√ 2022-09-18 19:55:29

你的图不够清晰, 我仔细看了一下, 错误提示你的scanf()传入参数类型不对, 你的a这个变量定义的int类型, scanf需要的是char类型

踏雪无痕 2022-09-18 19:55:29

这里报的是警告,还是执行结果的。不过scanf的语法你可以查一下,第一个参数是const char*类型,命名为format,意思是读取的格式,如%d表示int类型,你这里的a应该是int型的值;第二个参数为...,意思是不限定数目的指针的值,也就是&a,所以你应该这样写scanf("%d", &a)scanf的详细说明请查看这里

他不在意 2022-09-18 19:55:29

出现本问题的原因是,传参不对所致。楼上已经有同学回答,因此这里我在这里补充一个其他可能的原因(在vs下的操作情况),也是一些刚入门的同学容易遇到的。
我们在编译老的用C语言的开源项目如lua源包的时候,可能因为一些老的.c文件使用了strcpy,scanf等不安全的函数,而报警告和错误,而导致无法编译通过。
这时我们有两种解决方案:
1.在指定的源文件的开头定义:#define _CRT_SECURE_NO_WARNINGS
图片.png

2.在项目,设置sdl检查为否即可
图片.png
真诚的希望我的回答可以帮助到遇到类似问题的小伙伴

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

只是我以为 2022-09-18 19:55:29

可以百度下scanf用法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文