C语言 用全局变量编程模拟显示一个数字式时钟

参考程序:#include<stdio.h>inthour,minute,second;voidupdate(){second++;if(second==60){seco... 参考程序:
#include <stdio.h>
int hour,minute,second;
void update()
{
second++;
if(second==60)
{
second=0;
minute++;
}
if(minute==60)
{
minute=0;
hour++;
}
if(hour==24)
{
hour=0;
}
}
void display()
{
printf("%2d:%2d:%2d\r",hour,minute,second);
}
void delay()
{
int t;
for(t=0;t<100000000;t++);
}
int main()
{
int i;
hour=minute=second=0;
for(i=0;i<1000000;i++)
{
update();
display();
delay();
}
return 0;
}
手里只有一本学习指导。想问下
void display()
{
printf("%2d:%2d:%2d\r",hour,minute,second);
}
void delay()
{
int t;
for(t=0;t<100000000;t++);
}
printf("%2d:%2d:%2d\r",hour,minute,second);因为有'\r',输出后光标不是应该立刻退格到最左,这样不就抹去了已经输出的内容吗,后面的延时代码执行不就行显示为空吗?想请教这样想错在哪里?
展开
 我来答
fengfei5551223
2015-02-04 · TA获得超过135个赞
知道小有建树答主
回答量:213
采纳率:100%
帮助的人:122万
展开全部
肯定是先显示出打印的内容,然后在退格啊,然后再显示下一个,所以你就可以看见了啊
更多追问追答
追问
退格后不是延时吗,此时延时不应是显示为空吗因为已经退格了?
追答
退格之后,还可以继续输出啊,光标就会向后走啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5aad26e
2015-12-27
知道答主
回答量:2
采纳率:0%
帮助的人:2674
展开全部
\r 表示的是回车(不换行)啊,\b才表示退格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式