发新话题
打印

[6-19][软件问题][VC++6.0]一个简单的程序问题

[6-19][软件问题][VC++6.0]一个简单的程序问题

版主,不好意思,由于没有相应的版块,也只能发给这里了,望不要见怪~~~
源程序如下:
#include<stdio.h>
void main()
{
char c1='a',c2='b',c3='c',c4='\101',c5='\116';
printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c %c\n",c4,c5);
return 0;
}
运行结果:

aabb     cc       abc

A N

本人不明白的是:(结果中)第2行为什么输出处在第1列1格处开始?

printf("\t\b%c %c\n",c4,c5);

不是说"\t先跳一列到第9格,再遇到\b返回到第8格,接着遇到%c %c输入A N的嘛?应该在第8格和第10格处输出A和N才对,为什么运行结果会是那样呢?

研竟是怎么一回事?请高手指点.
引用:
请遵守本版版规!
[ 本帖最后由 hbyw 于 2007-6-20 09:20 编辑 ]

TOP

进来的人,请留下你的脚印~~~
另外说明一点:本程序是由Visual C++6.0环境下进行编译运行的.

[ 本帖最后由 宁夏 于 2007-6-19 15:47 编辑 ]

TOP

还真不知道...是不是如果前面都是空格的话,字符就自动向前靠啦....

TOP

引用:
原帖由 bmy603 于 2007-6-19 22:13 发表
还真不知道...是不是如果前面都是空格的话,字符就自动向前靠啦....
当然不是啦.如下面的程序:
#include<stdio.h>
void main()
{
char c='\116';
printf("\t%c\n",c);
}
运行结果:
         N

很明显前面留有8个空位.字符不会自动向前靠.

TOP

发新话题