| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 670 人关注过本帖
标题:求助printf问题
只看楼主 加入收藏
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
收藏
 问题点数:0 回复次数:4 
求助printf问题

你好:

  有关printf函数中的\r的使用问题:为何如下的两句printf,但输出却有所不同呢

  printf("\tfirst\b\b\bsh\\\r\'No.1\'\n");

printf("12345\b123\r9\n");

输出的结果是: ‘No.1' fish\

和:9234123

 我问题是:为何第一行没把前面的字符如fish删掉,而第二行却把12345中的1删掉,取而代之是9呢,你帮个忙,我是个新手。

搜索更多相关主题的帖子: printf 
2004-12-10 17:52
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 

\r表示回车,回车后第一行在空白位置,而第二行在12345的1位置处,所以用9要覆盖掉1。

我也不知道说清楚没,自己可以查查书。


2004-12-13 09:13
双云
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2004-11-1
收藏
得分:0 

运行结果当然是对的了!!!

printf("\tfirst\b\b\bsh\\\r\'No.1\'\n");

上面先运行\t 表示光标先向前运行一个tab位,即前进8个空格,结果为“ ”

然后打印出first在运行\b\b\b打印sh\结果为“ firsh”当遇到“\r "时返回到本行的最前面,然后打印‘NO.1’最终结果即为‘No.1' fish\

c语言中“\r” 的作用是返回到本行的开头如果再有字符需打印则从开头向后面覆盖字符或空格


2004-12-13 18:09
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
收藏
得分:0 

小弟在此谢谢你们的答复,特别是双云,太详细了,我一看就明白了,只是我太粗心了,没看出来原来还有一个\t呢,再次谢谢你们两位。

2004-12-15 11:30
双云
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2004-11-1
收藏
得分:0 
不客气,不客气

2004-12-15 11:58
快速回复:求助printf问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022881 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved