mumumu147258 2022-10-10 22:29 采纳率: 83.3%
浏览 46
已结题

scanf被跳过不执行如何解决?

问题第二个scanf被跳过

代码内容 /统计秒数/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int clock(int h,int m,int s);
int h; int m; int s;
int num;
int main()
{
int first, sec;
double time;
int h1, h2, m1, m2, s1, s2;
printf("第一个时间:");
scanf_s("请输入时间:%d小时 %d分钟 %d秒", &h1, &m1, &s1);
getchar();
clock(h,m,s);
first = num;
printf("第二个时间:");
scanf_s("请输入时间:%d小时 %d分钟 %d秒", &h2, &m2, &s2);
clock(h, m, s);
sec = num;
time = fabs(first - sec);
printf("时间间隔%f",time );
system("pause");
return 0;

}
int clock(int h, int m, int s)
{
num = 3600 * h + 60 * m + s;
return num;
}
运行结果
输入0 0 0
输出
第一个时间:0 0 0
第二个时间:时间间隔0.000000请按任意键继续. . .

尝试过程
不在主函数里用scanf,而 在clock函数里面写一个scanf,调用两次函数(结果还是跳过了)

代码预期
第二个scanf能够输入值

  • 写回答

1条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-10-10 22:43
    关注

    代码有点问题,修改了下

    img

    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    int clock(int h,int m,int s);
    int h; int m; int s;
    int num;
    int main()
    {
    int first, sec;
    double time;
    int h1, h2, m1, m2, s1, s2;
    printf("第一个时间:");
    scanf("%d %d %d", &h1, &m1, &s1);
    getchar();
    first = clock(h1,m1,s1);
    printf("第二个时间:");
    scanf("%d %d %d", &h2, &m2, &s2);
    sec=clock(h2, m2, s2);
    
    time= fabs(first - sec);
    printf("时间间隔%f",time );
    system("pause");
    return num;
    
    }
    int clock(int h, int m, int s)
    {
    num = 3600 * h + 60 * m + s;
    return num;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月19日
  • 已采纳回答 10月11日
  • 创建了问题 10月10日

悬赏问题

  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂