Zeng-fh 2022-03-26 11:16 采纳率: 89.8%
浏览 17
已结题

这段代码的格式控制符关系怎么看呀


#include <stdio.h>
//输入12345678 
main()
{
    int a,b;
    scanf("%2d%2d%3d",&a,&b);
    printf("%d\n",a+b);
}

运行结果

img


用别的编译器得到结果是46,也就是12+34的值
怎么具体分析这种格式控制符个数与输出数据个数不一样的语句呀

  • 写回答

1条回答 默认 最新

  • breeze亭瞳 2022-03-26 12:24
    关注

    你这里有个小错误,有三个格式控制符
    一般一个格式控制符对应一个输入,
    第一个%2d,对应a这个变量的输入,
    第二个%2d,对应b这个变量的输入。
    第三个%3d没有对应的输入。
    拿这个%d来说,以n来代表数字,
    %nd,你这个n是几,计算机就会取几位数,当你输入的数超出时,它只会取n位数。没超出,当然按你输的来计算。
    拿你那个来看,
    你输入的数是12345678,
    第一个%2d,n为2,取两位数,12
    第二个%2d,12已经被前面的数取了,这个就去后面的两位,也就是,34

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月3日
  • 已采纳回答 3月26日
  • 创建了问题 3月26日

悬赏问题

  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题