为什么这个程序在vs2017可以运行,在vc++不行,有老哥能帮忙看看吗?

如图... 如图 展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
子非退而结网
2018-12-06 · TA获得超过407个赞
知道小有建树答主
回答量:335
采纳率:68%
帮助的人:225万
展开全部
在VC++6.0中不能运行是由函数scanf_s导致的,原因是:
scanf_s是由微软提供的scanf的安全版本,vc++2005以后的版本才支持,在VC++6.0包
含的库中没有此函数,所以用VC++6.0编译时会报错:

想要用VC++6.0运行,将scanf_s函数修改为scanf就可以了

补充知识:
ANSI C中没有scanf_s(),只有scanf(),scanf()在读取时不检查边界,所以可能会造成内存
访问越界, 为了让原版函数更安全,微软提供了很多带"_s"后缀的安全版本函数,scanf_s
就是scanf的安全版本,从VC++2005开始提供支持。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式