2017-02-07 6 views
-1
#include <iostream> 
using namespace std; 

int main() 

{ 
    cout << "*****************************************" << 
    endl << 
    cout << "Hello All!" << 
    endl << 
    cout << "Welcome to CSCI-111!!!!!" << 
    endl << 
    cout << "It is great to see you!" << 
    endl << 
    cout << "*****************************************" ; 

    return 0; 

} 

を出力することは、第1 COUTが正しく罰金と出力ですが、その後、すべてのCOUTは引用符(0x600e88)内の単語の前に数字の奇妙な文字列を出力し、私の出力は、このC++奇妙

***************************************** 
0x600e88Hello All! 
0x600e88Welcome to CSCI-111!!!!! 
0x600e88It is great to see you! 
0x600e88***************************************** 
ように見える終わります
+1

http://en.cppreference.com/w/cpp/io/manip/endl – SU3

+0

何 'coutの<< coutのをあなたは持っている必要がありますどのような

? 'は結果になるでしょうか? – Raindrop7

答えて

6

あなたが現在持っているもの:

cout << "blah" << endl << cout << "blah" << endl << cout << ... ; 
//      ^~~~      ^~~~ 

あなたはcout自体を印刷している、これはあなたに奇妙な数字を与えるものです。

cout << "blah" << endl; 
cout << "blah" << endl; 

または::

cout << "blah" << endl 
    << "blah" << endl; 
+0

ああ、あなたの助けてくれてありがとう! – skillmaxer

5

endlの終了:

cout << "*****************************************" << endl; 
cout << "Hello All!" << endl; 
cout << "Welcome to CSCI-111!!!!!" << endl; 
cout << "It is great to see you!" << endl; 
cout << "*****************************************" ; 

または冗長coutの削除:

cout << "*****************************************" << endl << 
    "Hello All!" << endl << 
    "Welcome to CSCI-111!!!!!" << endl << 
    "It is great to see you!" << endl << 
    "*****************************************" ; 

それ以外の場合は、式が続行され、cout自体が印刷されます。関数ポインタなので、そのアドレス(0x600e88)を出力します。シーケンスで


秒1は、あなたがしたいストリームの一部である間

cout << "Something" << endl << cout; 

最初coutは、ostreamの開始(コンソールにアウトを印刷ストリーム)を示し、出力とポインタとして扱われ、彼は含まれているものを出力します - coutへの呼び出しの数値アドレス。

+0

待ち、 'cout'が関数ポインタであるので?それがポインタであれば、組み込み型を印刷することはできません。 – HolyBlackCat

+2

'endl'を必要としないので、' endl'を使用しないことも良い考えです。 – juanchopanza

+1

@HolyBlackCat:ブール式になります。これを行う一般的な方法は 'ostream * operator()const {return good()?this:nullptr;}'です(これは関数ポインタではありません、なぜUrielがそれを書いたのかわかりません) –