#include<stdio.h> int HmsToS(int h, int m, int s) { int t; t=60*60*h+60*m+s; return t; } void PrintTime(int s) { int h=0,m=0; while(s>=60) { if(s>=3600) { h++; s=s-3600; } if(s<3600 && s>=60) { m++; s=s-60; } } printf("%02d:%02d:%02d\n",h,m,s); } int main() { int h,m,s,t,h1,m1,s1; while(scanf("%d:%d:%d\n",&h,&m,&s),h!=EOF); { scanf("%d:%d:%d",&h1,&m1,&s1); t=HmsToS(h1,m1,s1)-HmsToS(h,m,s); PrintTime(t); } return 0; }为什么不对
时间: 2024-01-24 19:16:58 浏览: 43
字符串函数string.h应用举例.-综合文档
这个程序有一个小错误:
```
while(scanf("%d:%d:%d\n",&h,&m,&s),h!=EOF);
```
应该改为:
```
while(scanf("%d:%d:%d",&h,&m,&s) != EOF)
```
因为 `scanf` 函数返回的是读入成功的参数个数,而不是 `EOF`。所以在判断是否读到文件结尾时,应该判断 `scanf` 的返回值是否等于 3(因为要读入三个整数)。另外注意去掉多余的分号。
阅读全文