Leonardo||Watch 2019-09-27 13:41 采纳率: 100%
浏览 207
已采纳

作业实在不会了。。。。。

输入:

123456789
123

输出

a=12,b=345,c=123

要求修改以下程序达到要求

#include<stdio.h>

int main()
{   
int a,b,c; 
scanf("%2d%3d",&a,&b);
scanf("%f",&c); 
printf("a=%d,b=%d,c=%d\n",a,b,c);
return 0;
}

为什么下面的代码输出的c=6789呢?

#include<stdio.h>

int main()
{
    int a,b,c;

    scanf("%2d%3d",&a,&b);
    scanf("%d",&c);
    printf("a=%2d,b=%3d,c=%3d",a,b,c);

    return 0;
}

而且我试了像下面这样曲线救国

#include<stdio.h>

int main()
{
    int a,b,c,d;

    scanf("%2d%3d%d",&a,&b,&d);
    scanf("%d",&c);
    printf("a=%2d,b=%3d,c=%3d",a,b,c);

    return 0;
}

虽然达到了要求,但老师说只能在原基础上改???
难道是格式控制符能做到省略掉b=3456789后面的6789?
求大佬指点!!!

  • 写回答

2条回答 默认 最新

  • qtchen_1988 2019-09-27 14:19
    关注
    #include<stdio.h>
    
    int main()
    {
        int a,b,c;
        scanf("%2d%3d",&a,&b);
        while (getchar() != '\n');
        scanf("%d",&c);
        printf("a=%d,b=%d,c=%d\n",a,b,c);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作