当前位置: 代码迷 >> C语言 >> tc和vc++为什么结果不一样?
  详细解决方案

tc和vc++为什么结果不一样?

热度:133   发布时间:2008-04-01 20:11:19.0
tc和vc++为什么结果不一样?
printf("*\t\b*");
这个语句在tc和vc++里的结果为什么会不一样?
搜索更多相关的解决方案: 结果  

----------------解决方案--------------------------------------------------------
编译器不同,
----------------解决方案--------------------------------------------------------
恩,可是这个又怎么解释呢?
#include<iostream>
using namespace std;
int main()
{
    cout<<"*\t\b*"<<endl;
    printf("1234567890\n");
    return 0;
}


用同一个编译器为什么还是不一样?
----------------解决方案--------------------------------------------------------
#include<iostream>
using namespace std;
int main()
{
    cout<<"*\t\b*"<<endl;
    printf("*\t\b*\n");
    printf("1234567890\n");
    return 0;
}

呵呵,上面那个少了点什么!
----------------解决方案--------------------------------------------------------
应该是\b的问题,C与C++实现的不同;
VC中,printf()使用\b,退回一个空格(BACKESPACE),由于在这之前是\t,一个空格就指一个TAP键,如果前面不是\t,情况就不同了,你可以在WORD文档中试下,TAB,BACKSPACE;
cout不同,\b退格,仅退回一个字符的位置;
----------------解决方案--------------------------------------------------------
嘿嘿,学习了。
----------------解决方案--------------------------------------------------------
  相关解决方案