请问c++中cout<<ends;和cout<<" ";的区别(双引号中有一个空格)

如题:请问c++中cout<<ends;和cout<<" ";的区别(双引号中有一个空格)
tacyxx:老兄你学过c++没有?
自己试试这段代码!看看有什么结果!
#include <iostream>
using namespace std;
int main(){

cout<<"A"<<ends<<"B"<<endl<<"C";
return 0;
}

在PKU上做题有的只能用cout<<" ";一用cout<<ends;就Wrong Answer

这是库中对ends的定义。
_CRTIMP inline basic_ostream<char, char_traits<char> >&
__cdecl ends(basic_ostream<char, char_traits<char> >& _O)
{_O.put('\0');
return (_O); }
实际是打印的一个‘\0’,而不是空格。而且,ends不可以当成一个字符,‘\0'就可以,并且有相应的ascii码值。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-28
cout<<ends;没有这种表示方法,应该是cout<<endl;输出一个换行符。
cout<<" ";作用是打印一个含一个空格符号的字符串。
两者的输出结果是不一样的。前者换行,后者只是打个空格出来。
第2个回答  2008-11-28
应该是没有什么区别的,只是两种不同的表示方法,C++中还有STEW(1),printf( )等等表示空格的方法

请问c++中cout<<ends;和cout<<" ";的区别(双引号中有一个空格)
实际是打印的一个‘\\0’,而不是空格。而且,ends不可以当成一个字符,‘\\0'就可以,并且有相应的ascii码值。

...cout<<' '<<endl ,这个与cout<<'' ''<<endl的区别,谢谢。
cout<<' '<<endl 表示输出一个空格。 ' '(单引号) 表示一个字符。cout<<'' ''<<endl 表示输出一个空格字符串。“”(双引号)表示一个字符串,字符串在结尾系统会默认添加一个‘\\0’。按照字符串输出从显示上看就是什么都没有输出,肉眼看不出区别。二者区别是: ' '(单引号)在内存...

c++ cout<<endl<<endl 为何有两个endl
一个cout<<endl就是输出一个换行回车,连续两个就是换两行,根据个人的格式需要而定,你如果只写一个或不写endl同样可以实现代码所完成的功能!一个cout<<endl就是输出一个换行回车,连续两个就是换两行,根据个人的格式需要而定,你如果只写一个或不写endl同样可以实现代码所完成的功能!一个cout<<endl...

c++求帮助 语句{cout<<"*"<<endl; } 与{cout <<"*"; cout<<endl;}有什...
完全没有区别

c++ cout中的空引号有什么用?
一般引号中间会加一个或者若干个空格,让a和b的值输出的时候不会连在一起 如果中间没有空格的话,没有用

C++里面cout<<"\\n";和cout<<endl有什么区别?
"\\n"表示内容为一个回车符的字符串。std::endl是流操作子,输出的作用和输出"\\n"类似,但可能略有区别。std::endl输出一个换行符,并立即刷新缓冲区。例如,std::cout << std::endl;相当于 std::cout << '\\n' << std::flush;,或者 std::cout << '\\n'; std::fflush(stdout);。由...

C++中的<<和''的区别是什么?
cout:词性为名词,表示C++标准库中的输出流对象,用于将数据输出到标准输出设备或文件中。<<:词性为运算符,表示C++中的流插入运算符,用于向输出流中插入数据。" ":词性为字符串,表示一个包含一个空格的双引号括起来的字符串。' ':词性为字符,表示一个空格字符。通过下面的表格我们了解下cout、...

C++ cout<<"我的世界"<<endl; 输出时中文之间出现空格
你在输入的时候将输入法设置成半角字试试吧,因为正常情况下一个汉字占两个byte,属于wchar类型,所以很可能显示的时候两个字节第一个字节显示字而另外一个字节就成空格了。

在C++中输出cout<<加输出内容后面加与不加<<endl;有什么区别?
加<<endl后会有一个换行。下次再用cout输出字符时就会在下一行开始输出,如果不加,就会跟在当前行的最后输出。

...std 之后直接cout<<endl;和std::cout<<endl;有什么区别
std::cout<<std::endl;using namespace std;是指出在接下来的作用域中,将使用std命名空间。而不这样就是说需要单独指定每一个命名空间,由于初学者通常都使用位于std命名空间中的标示符(函数啊什么的),所以可以直接用。但是以后的编程可能用到其它命名空间,所以就不能这么写了,如boost....

相似回答