关于cout的小问题,有兴趣的进来看看:)

johnhawke 2003-08-15 10:57:59
cout <<"result=";
for(i=1;i<=3;i++)
cout <<i <<"+";
cout <<"\b" <<endl;

本来希望得到的输出是:result=1+2+3
结果得到的是:result=1+2+3+
我用了\b这个转义字符(退格),怎么就删不掉最后那个“+”号呢?
当然我知道可以先输出1,然后后面循环显示“+i”,这里只是问问cout里转义字符的问题,希望大家帮解释一下下:)
...全文
31 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnhawke 2003-08-19
  • 打赏
  • 举报
回复
谢谢!谢谢!
终于明白了:)
bm1408 2003-08-15
  • 打赏
  • 举报
回复
agree:yangsiqun(郁闷的不得了)

转移字符在编译时,编译器要总观整个一行表达式,然后在执行!
fangrk 2003-08-15
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;


int main()
{
cout<<"result=1+2+3+\b"<<endl;
cout<<"result=1+2+3+\b "<<endl;

}

result=1+2+3+
result=1+2+3
Areslp 2003-08-15
  • 打赏
  • 举报
回复
去掉cout<<endl;
ehhl 2003-08-15
  • 打赏
  • 举报
回复
我认为是这样的:\b是可以退格,但是不是删除啊,你如果在cout <<"\b" 后面在输出一个字符,如cout <<"\b"<<"b";这样的话后面的那个字符b就会把+号给覆盖掉了,说明\b只是退格,但是不是删除
Areslp 2003-08-15
  • 打赏
  • 举报
回复
\b只是光标退回去一格吧,并不会删除字符啊,和backspace键是不一样的

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧