scanf输入原理:scanf是从标准输入缓冲区中读取输入的数据,而%c的字符输入格式会接收回车字符,在输入第一个scanf时输入字符后按 回车结束,输入缓冲中保存了这个回车符,遇到第二个scanf时,它自动把这个回车符赋给了ch。而如果第二个scanf的输入格式不是%c时,由于格 式不匹配,这个回车符会被自动忽略,所以只有在连续输入两个%c的格式时才会出现这样的问题!
#include <stdio.h>
int main()
{
int hour1=0, minute1=0;
int hour2=0, minute2=0;
printf("请问几点几分开始");
scanf("%d时%d分", &hour1, &minute1);
printf("请问几点几分结束");
scanf("%d时%d分", &hour2, &minute2);
int t1 = hour1 * 60 + minute1;
int t2 = hour2 * 60 + minute2;
int t3 = t2 - t1;
printf("共使用%d时%d分", t3 / 60, t3 % 60);
return 0;
}
解决方法 格式控制中加入空格