标题:各位大佬,小滴又遇到了点麻烦,还请各位大佬指点指点
只看楼主
周昱树
Rank: 1
来 自:中国陕西安康白河
等 级:新手上路
帖 子:9
专家分:0
注 册:2020-6-17
结帖率:100%
已结贴  问题点数:20 回复次数:7 
各位大佬,小滴又遇到了点麻烦,还请各位大佬指点指点
小生这厢有礼了,
使用vs2013和在线编辑的结果不一样,但是不知道是语法原因还是编辑器的原因。
搜索更多相关主题的帖子: 语法 编辑器 编辑 原因 结果 
2020-09-11 20:20
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
得分:10 
VS 里把 scanf 改成 scanf_s
2020-09-11 23:45
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:10 
微软认为scanf,printf,fscanf等不安全,自己提供了一套后缀'_s'的函数
2020-09-12 12:03
周昱树
Rank: 1
来 自:中国陕西安康白河
等 级:新手上路
帖 子:9
专家分:0
注 册:2020-6-17
得分:0 
回复 2楼 Jonny0201
谢谢大佬指点。O(∩_∩)O

我们对世界充满好奇
2020-09-12 18:37
周昱树
Rank: 1
来 自:中国陕西安康白河
等 级:新手上路
帖 子:9
专家分:0
注 册:2020-6-17
得分:0 
回复 3楼 apull
好的,我知道怎样解决这些问题了。谢谢大佬。

我们对世界充满好奇
2020-09-12 18:38
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
第一,不要贴图。要贴 文字形式的代码 和 文字形式的说明
第二,scanf中的格式化参数不要加"\n",也就是 scanf("%d%d\n" 应当改为 scanf("%d%d"
第三,在VC++中,scanf编译失败的话,建议你在源代码开头加  #define _CRT_SECURE_NO_WARNINGS,而不是使用 scanf_s 等。
因为
scanf_s 虽然加入了C标准,但那是一次欺诈行为。说“欺诈”也许过分,但说“误会”又太轻飘飘了;
scanf_s 虽然加入了C标准,但只是可选的,不是强制必须支持;
scanf_s 虽然加入了C标准,但gcc/clang等所有主流编译器都反对,永远不会去支持这个可选部分的;
scanf_s 虽然加入了C标准,但加入时被修改得好了一点,而这些修改微软却又不肯跟进。也就是说世上只有VC支持scanf_s,但VC支持的scanf_s也不是C标准中的scanf_s。
2020-09-14 10:13
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:0 
补充6楼
有必要强调一下
#define _CRT_SECURE_NO_WARNINGS
应该写在#include之前

6楼的描述 "源代码开头加#define _CRT_SECURE_NO_WARNINGS"是正确的
本楼在6楼的描述的基础上 强调 这个开头是指 include 之前

https://zh.
2020-09-14 17:29
x277715747
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2020-6-4
得分:0 
_s要准确一些
2020-09-15 20:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503131-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058074 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved