c/c++语言开发共享一次调用printf可以打印的值数量是否有限制?

printf打印的值的数量是否取决于为特定程序分配的内存,还是可以继续打印值?

    C标准记录了编译器为函数调用接受的最小参数数量:

    C11 5.2.4.1翻译限制

    该实现应能够翻译和执行至少一个包含以下每个限制的至少一个实例的程序:

    因此,您应该能够在初始格式字符串之后将至少126个值传递给printf ,假设格式字符串已正确构造并与后面的实际参数一致。

    如果格式字符串是字符串文字,则标准保证编译器可以处理至少4095字节长的字符串文字,并且源行至少4095字符长。 您可以使用字符串连接在多个源行上拆分文字。 如果对格式字符串使用char数组,则不存在此类限制。

    printf系列函数记录的唯一环境限制是:

    任何单次转换可以产生的字符数应至少为4095

    这使得格式%10000d的行为最好由实现定义,但标准不%10000d要求。

    因此,兼容的编译器/库组合应该接受至少126个printf值,无论您的环境是否允许更多参数可以由实现定义并记录,但标准不保证。

      以上就是c/c++开发分享一次调用printf可以打印的值数量是否有限制?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/549211.html

      (0)
      上一篇 2021年1月13日
      下一篇 2021年1月13日

      精彩推荐