c 中為什麼有的句子必須加endl

2022-07-15 02:35:13 字數 5244 閱讀 9037

1樓:流星夢陽

哎,你仔細想想啊!

你在vc中你點endl上,點右鍵然後點go to definition of endl;你就會發現什麼是endl他的定義直接就寫得宣告裡是這個

inline _crtimp ostream& __cdecl endl(ostream& _outs)

這個你就能看出endl是什麼了吧,他是輸出的\n和flush那你在想想什麼時候才必須加endl呢?

1.當然是需要換行時須輸出endl;

2.當然是需要flush時必須輸出endl;

至於flush是什麼?

flushes the buffer associated with this stream. the flush function calls the sync function of the associated streambuf.

就是重新整理緩衝區!

2樓:匿名使用者

輸出回車並清空快取。不是必須加,習慣性把它當回車換行用而已。不過你手動輸出'\n'換行時沒有清空快取,可能不會立即看到輸出結果。

3樓:

endl只是個換行,不寫的話對程式的執行沒什麼影響的,只是可能美觀的問題。後面的分號表示語句結束,必須要的東西喲。

4樓:匿名使用者

endl意思有兩層,一是輸出一個換行,二是清除緩衝區

但我還真不知道有哪些必須加它,你能舉個例子嗎?

5樓:拓拔to白澤

cout << endl;

跟cout << '\n';

一樣,就換行作用。

6樓:不喝柯樂

這是一個換行的命令。

c++中endl到底在什麼時候必須用

7樓:匿名使用者

endl 的作用是輸出換行並清空輸出緩衝區,相當於 flush + '\n'。所以當你需要及時向螢幕輸出資料的時候,就用 endl。

8樓:匿名使用者

知道作用就行了,沒要求必須用,endl可以換行,重新整理流,這樣在緩衝區裡的資料能及時輸出

9樓:匿名使用者

怎麼會有這種問題啊?endl意思為end of line,就是說該行的結尾,到下一行了,你想用就用啊

10樓:倒黴熊

這個你想用就用,不想用就不用,什麼時候必須用??這個不靠譜

11樓:千鋒教育

endl只是一個模板函式。

其主要搭配iostream物件來使用,如cout、cerr等,其作用是:

1.將換行符寫入輸出流,其中unix/linux換行符是\n,windows中是\r\n,mac中是\r;

2.清空輸出緩衝區。

在c++中如果使用輸入\輸出符endl。

比如在語句 :

cout<<"the id is"<

cout<<"the id is"<

那麼意思是:

endl就相當於輸出的時候回車。

第一句的輸出是:

the id is

2第二句的輸出是:

the id is i

然後游標到了第二行。

額外的,還可以這樣使用endl:

std::endl(cout); // 等於 std::endl(std::cout);

std::endl(cout << "this id is" << i); // 等於 std::endl(std::cout << "this id is" << i);

(注:這是由於koenig looup法則)

其中第一句等同於:std::cout << std::endl; // 不能寫成std::cout << endl;

第二句等於:std::cout << "this id is" << i << std::endl; // 如上所述。

c++中endl的有無的影響

12樓:物理公司的

endl的作用是換行

可以插入到輸出流中,效果為在輸出結果中插入換行符'\n'。

int a=3,b=4;

cout<

cout

cout<

cout<

c++中endl的作用

13樓:豆兒媽育兒

和樓上說的一樣,endl的作用是換行,不寫對程式的執行沒有影響,但是程式就不夠美觀了比如去掉endl,**如下(附上執行結果):

#include

void main()

cout<<"this is cargo charge program";

float weight=20;

float charge=0;

charge=charge+(weight-15)*12;

cout

至於你說分號能不能去掉,肯定不能啊,這是c或c++語言的語法規則,去掉無法通過編譯,會出現語法錯誤,我試給你看

#include

void main()

cout<<"this is cargo charge program"

float charge=0;

charge=charge+(weight-15)*12;

cout

compiling...

12.cpp

d:\c源程式**\12.cpp(5) : error c2144: syntax error : missing ';' before type 'float'

error executing cl.exe.

12.obj - 1 error(s), 0 warning(s)

它說在你這個程式的第五行float定義前缺了一個「;」,也就是上面程式加註釋的地方,你加上再編譯就不會出錯了

你說weight為什麼賦初值為0,這個不一定,是看你的程式需要賦什麼值,隨程式需要可以賦任何值,同樣你問的那個計算表示式也是由程式需要決定要不要加charge。

給你一點建議:以後諸如此類問題,你可以像我這樣除錯程式得到你想要的答案,加油吧^_^

14樓:匿名使用者

endl的作用是換行

可以插入到輸出流中,效果為在輸出結果中插入換行符'\n'。

要直接使用endl,需要使用std名空間,即使用:

using namespace std;

否則需要使用std::endl

以標準輸出流cout為例:

cout << "this is a test string" <

的效果就是輸出

this is a test string後換行。

用於檔案輸出流或字串輸出流時用法類似。

15樓:乙熹羿懿

endl是結束了輸入輸出流,並在螢幕上起到回車作用。建議你看一看我的一個回帖:

那個帖子裡,你可以看到endl所起的作用,相信你的理解會更深一些。

16樓:

endl只是個換行,不寫的話對程式的執行沒什麼影響的,只是可能美觀的問題。後面的分號表示語句結束,必須要的東西喲。

*****=

貌似可以改成charge=(weight-15)*12;你可以改一下然後除錯試試,變數初始化的主要作用是給它一個記憶體空間先。

17樓:mk的錘子

charge=charge+(weight-15)*12可以寫成

charge+=(weight-15)*12分號是結束標誌

不初始化不可以。。不然結果不可預料。。

18樓:匿名使用者

endl 就是 end of line的意思,換行 相當於'\n'

在c++中輸出cout<<加輸出內容後面加與不加<

19樓:匿名使用者

你好!區別就是後者要多一個換行操作.

可以這樣測試:

cout<<"hi"<

cout<<"hello";

結果就是

hihello

如果沒有的話就是

hihello~希望對你有幫助

20樓:飛行的瘋子

你好,endl在c++中除了有換行這個作用外,還有一個作用就是重新整理緩衝區。重新整理緩衝區可以清除執行一次輸入後殘留在緩衝區中的多餘的東西,如換行符,避免程式接下來的輸入產生不必要的錯誤。

21樓:

endl的意思是end line,也就是「結束此行」,但實際上有兩個操作

1. 換行

2. 對緩衝流進行沖刷,使得流中所有剩餘字元被寫入輸出序列如果單單是換行,用'\n'能達到一樣的效果。

22樓:匿名使用者

加endl後,程式另起一行

c++裡 cout<

23樓:匿名使用者

cout<

cout<

c++中的endl有什麼用,什麼時候要,什麼時候不要??

24樓:小魚不等於零

第一個用處:列印一個回車。而且平臺無關。因為unix要"\n";windows要"\n\r"

第二個用處:清空列印緩衝區。因為列印的字元先寫入緩衝區,然後再輸入。這個一般不明顯,如果使用fork()開闢新程序時可能會看到不同。

25樓:

作為流式輸出的換行符來使用,當你需要換行就使用,不需要換行就不使用。

26樓:今夕何夕夜

換行 看心情 想要就要

為什麼英語中引導狀語的形容詞有的加being有的不加

形容詞只能做定語或者表語 要做being的表語一起來表示一種狀態來做狀語 形容詞作狀語時,形容詞前什麼時候加being,什麼時候直接使用 5 形容詞只能做定語或者表語 要做being的表語一起來表示一種狀態來做狀語 形容詞一般是不能做狀語的,同being 一塊使用做狀語。形容詞做狀語,什麼時候前面要...

c 語言中類中的靜態資料成員為什麼必須在類體外初始化

可以通過以下幾個例子更形象的說明這個問題 test.cpp include class a int main 編譯以上 會出現 對 a a 未定義的引用 錯誤。這是因為靜態成員變數a未定義,也就是還沒有分配記憶體,顯然是不可以訪問的。再看如下例子 test.cpp include class a i...

為什麼英語句子中的逗號後面的動詞要加ing

逗號,表明這一句話沒有說完。後面要繼續說的話,按理應該是並列,順成,轉折等關係,一般需要用並列,順成或者轉折關係的連詞。如果沒有連詞,那就表明,逗號後面要用非謂語動詞來做狀語。非謂語動詞與前面的句子主語是主動關係時,就用動詞v ing.例如 tom sat there,reading a short...