C语⾔scanf()常见报错问题
1.提⽰ scanf 未申明
c语言搜题软件推荐问题症状:
我们⼀开始使⽤scanf() 都基本会遇到这样的报错
显⽰我们未申明 以下的错误
1."error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, "_CRT_SECURE_NO_WARNINGS". See online help for details."
2.参见“scanf”的声明
解决⽅法:
⼀ 、将 _CRT_SECURE_NO_WARNINGS 也就是它错误提⽰上⾯给出的代码定义在程序的最开始
即 #define _CRT_SECURE_NO_WARNINGS(直接复制)
也可以 #define _CRT_SECURE_NO_WARNINGS 1后⾯ 这个1可加可不加两种都可以
如图:
⼆ 、将 scanf() 改写成 scanf_s()
这样也能有效的防⽌报错,但是在以后的不断学习中,你会知道 scanf() 才是规定的函数 scanf_s()虽然也能使⽤但是随着你代码量的增多实现复杂的程序时 可能出现的程序Bug等⼀系列莫名其妙的问题,你根本不会注意到它,因此这⾥建议使⽤第⼀种⽅法,也就是在使⽤scanf() 时 在程序开头给它定义代码的⽅式
2.缺少 ' ; ' 错误
问题症状:
如下以及下图中右下⾓⽅框显⽰-它会提⽰:
1.语法错误 : 缺少 “;” (在“类型”的前⾯)
2.“sum”: 未声明的标识符
这⾥你会反复检查代码哪⾥出现了问题 是否定义了sum 以及是否少了 ' ; ',结果都是百思不得其解。⽽这⾥问题 是由VS版本差异导致的这⾥VS系列推荐VS2013、VS2019,VS2013版本会出现这种问题,VS2019暂时不知,不过解决⽅法应该⼀致
解决⽅法:
如图中 可以将 int sum=b+c; 这个sum 定义放在 scanf() 的前⾯ 如下图便能成功运⾏
看到这 细⼼的⼈会发现 这⾥我⽤的是scanf_s() ⽽不是 scanf() ⽽这就是我们刚刚讲的未申明scanf(),⽽为什么我都建议scanf()了还⽤scanf_s()的原因就是下⾯要说的快捷设置⽅法
3.运⾏后窗⼝⼀闪⽽过
同上⾯所说的⼀样 不同VS的版本都会有⼤⼤⼩⼩的问题,因此在学习过程中最好与所学视频资料等使⽤的版本⼀致,才能最⼤程度避免出现⼀些细⼩的问题
问题症状:
这⾥出现的问题就是 在你运⾏的时候程序如果没出错 应该弹出那个win32窗⼝程序⾯板 ,在这个界⾯可以看见你程序运⾏的结果过程,但是很多⼈都会出现⼀闪⽽过的情况 ,不会显⽰ 就⽆法进⾏下⼀步的操作
解决办法:
1.在程序开头引⼊库函数 #include<windows.h> 平时⽣活中都会说有借有还, C语⾔也不例外 我们使⽤的库函数 printf 和微软规定的 系统函数system 等的时候 ⼀旦使⽤都需要跟系统说⼀声 即引⽤ 伴随C语⾔学习的始终
2.然后在main函数⾥⾯return 0;前⾯加上 system("pause");
这样程序就能停留在 你需要操作的 win32窗⼝程序⾯板
4.快捷设置以上内容
思考:
看到这想必你的问题已经得到了解决,但是⼼⾥应该没有太⼤的喜悦感。为什么呢?因为这些⽅法没有给你带来⼀劳永逸的快感,你可能也意识到既然这样那我岂不是每次都要设置⼀次吗。
因此这⾥带来只需设置⼀次的⽅法,⽅法较为简单。
解决⽅法:
1.打开你所装版本的VS安装路径--可以到软件图标右键打开⽂件夹所在位置
2.跟着图⽰步骤到newc++file.cpp 你也可以直接在你电脑搜索引擎⾥⾯搜这个⽂件名
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论