【问题标题】:why does scanf_s cause Compiler Error on OnlineJudge? [closed]为什么 scanf_s 会导致 OnlineJudge 上的编译器错误? [关闭]
【发布时间】:2017-01-27 01:45:29
【问题描述】:

我使用 scanf_s 来输入数据。
它会导致 OnlineJudge 上的编译器错误,而 scanf 可以通过测试。
我已包含 cstdio
scanf_s 是否包含在其他 STL 中?

【问题讨论】:

  • scanf_s 是微软的扩展;它不是标准的 C。
  • 大多数时候我在这里看到有关XXX_s 函数的问题,问题是发帖人没有给它额外的参数,他们试图像原来的@987654323 那样称呼它@函数。
  • @GovindParmar 实际上 scanf_s 作为可选附录的一部分在 C11 标准中。不过,它看起来不像是在 C++ 中。用户,你考虑过使用std::cin吗?

标签: c++ visual-studio-2015 compiler-errors


【解决方案1】:

正如 Govind Parmar 在他的评论中所说,scanf_s 是 Microsoft 扩展。 OnlineJudge 使用 GNU C++ 编译器,因此无法使用 Microsoft 扩展。

实用提示:如果您想在提交之前在标准编译器上测试您的代码,网上有几个可用的,例如ideone

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 2016-05-13
    • 2019-11-18
    • 2011-06-09
    • 1970-01-01
    • 2010-09-18
    相关资源
    最近更新 更多