#include <stdio.h>
int main(void){
const int covstm = 60,covsth = 3600;
int h,m,s,s0 = 0;
while(s0 > -1)
{
printf("请输入秒或者-1退出:\n");
scanf("d%",&s0);
s = s0;
h = s/covsth;
m = s%covsth/covstm;
s = s%covsth%covstm;
printf("您输入的是%8d秒:\n,转化为时分秒为:%8d小时,%8d分钟,%8d秒钟!\n",s0,h,m,s);
}
return 0;
一直执行最后一个printf,结果还不对!
scanf("d%",&s0)
改为
scanf("%d",&s0);
格式符写错了
while循环中没有改变s0的值,s0一直等于0,所以s0>-1永远成立,就是死循环
好好查查你的代码,看是不是编译中有错误,提示你修改错误或执行上次的程序,你点了执行上次的程序
全部重新编译你的工程试试
#include <stdio.h>
int main(void){
const int covstm = 60,covsth = 3600;
int h,m,s,s0 = 0;
printf("请输入秒或者-1退出:\n");
while(scanf("%d",&s0) && s0 > -1)
{
s = s0;
h = s/covsth;
m = s%covsth/covstm;
s = s%covsth%covstm;
printf("您输入的是%8d秒:\n,转化为时分秒为:%8d小时,%8d分钟,%8d秒钟!\n",s0,h,m,s);
}
return 0;
}
scanf("d%",&s0); 改成scanf("%d",&s0);
%位置错了
格式符号应该为%d