回 帖 发 新 帖 刷新版面

主题:[讨论]换行符endl和/n的使用方法

#include<iostream.h>
#include<math.h>
void main()
{
    double y;
    int x,m;
    for(y=1;y>=-1;y=y-0.1)
    { 
        m=asin(y)*10;
        for(x=1;(y>=0)?x<m:x<31+abs(m);x++)
            cout<<" ";
        cout<<"*";
        for(;(y>=0)?x<31-m:x<2*31-abs(m);x++)
            cout<<" ";
        cout<<"*"<<endl ;/************/
         
    }
}
问题:上面的程序可以正常输出正弦图像,为什么我把/*******/中的cout<<"*"<<endl;换成cout<<"*"<<"/n";后却无法正常输出了呢?这两个换行符不是通用是吗?请高手们给点指示,小弟感激不尽!

回复列表 (共3个回复)

沙发

c/c++的转义字符是以"\xxx"开始。而不是/
"\n" 不等于 /n
不过,"\n" 于std::endl 确实好似少了个cout.flush();

板凳

endl换行时也缓冲也给flush了,但是\n只是换行,没有flush

3 楼

呵呵。。。小弟愚笨居然没注意\n和/n的区别,谢谢两位了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册