为什么他的编译是对的,但是运行不对呢?大神求解
#include <stdio.h>int main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d %d", &hour1, &minute1);
scanf("%d %d", &hour2, &minute2);
int t1 =hour1*60+minute1;
int t2 =hour2*60+minute2;
int t= t2-t1;
printf("时间差是%d小时%d分",t/60, t%60);
}
运行不对是什么意思?无法运行还是结果不对? Max472 发表于 2021-9-10 19:02
运行不对是什么意思?无法运行还是结果不对?
结果不对
我这里运行对啊
本帖最后由 jhq999 于 2021-9-10 19:11 编辑
#include <stdio.h>
int main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d %d", &hour1, &minute1);
getchar();//接收回车,否则下面的hour2=10
scanf("%d %d", &hour2, &minute2);
int t1 =hour1*60+minute1;
int t2 =hour2*60+minute2;
int t= t2-t1;
printf("时间差是%d小时%d分",t/60, t%60);
}
我知道了,我输入的文本是1小时30分, Max472 发表于 2021-9-10 19:09
我这里运行对啊
像你这样输入就可以 小马快跑RUN 发表于 2021-9-10 19:12
像你这样输入就可以
?
你输入的引号里边的吗?
“1小时30分” jhq999 发表于 2021-9-10 19:10
老实说我看不懂,为什么多了? #include <stdio.h>
int main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d %d", &hour1, &minute1);
scanf("%d %d", &hour2, &minute2);
int t1 =hour1*60+minute1;
int t2 =hour2*60+minute2;
int t= abs(t2-t1);//abs 函数取绝对值
printf("时间差是%d小时%d分",t/60, t%60);
return 0;
} Max472 发表于 2021-9-10 19:14
?
你输入的引号里边的吗?
“1小时30分”
嗯嗯 你跟着小甲鱼的视频学,你这都是什么错误啊{:10_277:}
scanf("%d %d", &hour, &minute);
这里的 %d 是 格式化输入
什么意思呢,格式化输入,你要按照格式输入
%d 的意思是 int 类型的整数,你连汉字带数字一起输入,这是格式化输入吗? 小马快跑RUN 发表于 2021-9-10 19:17
老实说我看不懂,为什么多了?
是我想错了,犯了经验主义错误 Max472 发表于 2021-9-10 19:32
你跟着小甲鱼的视频学,你这都是什么错误啊
所以后面就不能用文字只能用数字,对吗?
小马快跑RUN 发表于 2021-9-10 20:24
所以后面就不能用文字只能用数字,对吗?
嗯,你跟着小甲鱼的视频就行了
小甲鱼视频教学计划安排【2021版】 小马快跑RUN 发表于 2021-9-10 20:24
所以后面就不能用文字只能用数字,对吗?
我学了,但是有不懂,我才开始学的 小马快跑RUN 发表于 2021-9-10 20:27
我学了,但是有不懂,我才开始学的
哦,多打代码,不会的在论坛问就行 Max472 发表于 2021-9-10 20:29
哦,多打代码,不会的在论坛问就行
嗯嗯,好的
页:
[1]