深入理解C語言——代碼例子詳解
C語言,一個影響深遠並徹底改變世界的計算機語言。一門經歷40多年的到今天還長盛不衰的語言,今天很多語言都受到C的影響,C++,Java,C#,Perl, PHP, Javascript, 等等。但是,你對C了解嗎?
這幾天我可能會舉一系列的例子,對這方面感興趣的可以持續關注咯~
想要一起學習C++的可以加裙二四八八九四四三零,裙內有各種資料滿足大家,歡迎加裙
首先,我們先來看下面這個經典的代碼:
intmain()
{
inta = 42;
printf(「%d
」, a);
}
從這段代碼里你看到了什麼問題?我們都知道,這段程序里少了一個#include 還少了一個return 0;的返回語句。
不過,讓我們來深入的學習一下,
想要一起學習C++的可以加裙二四八八九四四三零,裙內有各種資料滿足大家,歡迎加裙
這段代碼在C++下無法編譯,因為C++需要明確聲明函數
這段代碼在C的編譯器下會編譯通過,因為在編譯期,編譯器會生成一個printf的函數定義,並生成.o文件,鏈接時,會找到標準的鏈接庫,所以能編譯通過。
但是,你知道這段程序的退出碼嗎?在ANSI-C下,退出碼是一些未定義的垃圾數。但在C89下,退出碼是3,因為其取了printf的返回值。為什麼printf函數返回3呢?因為其輸出了』4′, 『2』,』
』 三個字元。而在C99下,其會返回0,也就是成功地運行了這段程序。你可以使用gcc的 -std=c89或是-std=c99來編譯上面的程序看結果。
另外,我們還要注意main(),在C標準下,如果一個函數不要參數,應該聲明成main(void),而main()其實相當於main(…),也就是說其可以有任意多的參數。
歡迎在文章下方評論,摸摸噠。。
想要一起學習C++的可以加裙二四八八九四四三零,裙內有各種資料滿足大家,歡迎加裙


※你對C了解嗎?深入理解C語言
※從零開始系統學習C語言C加加,零基礎到項目實戰
※為了解決C語言的不完美和缺陷,C加加的這些特性,你了解過么?
※C語言編程——模擬鬥地主自動發牌
※深入理解C語言的預編譯指令之 include
TAG:C加加 |
※自然語言處理基礎:上下文詞表徵入門解讀
※解碼神經元的語言
※語言密室:闡釋和理解
※語言密碼:解密中西方語言
※如何使用貪婪搜索和束搜索解碼演算法進行自然語言處理
※德勤英文語言理解真題
※經典之作《演算法精解·C語言描述》
※閱讀理解得分超越人類:谷歌推出最強預訓練語言理解模型BERT
※詳解 BP 神經網路基本原理及 C 語言實現
※深入淺出Go語言的庫源碼文件
※自然語言處理帶你深入了解《復聯3》的超級英雄們
※說文解字 語言文字家庭備文字研究工具書趣說漢字正版圖書
※德勤經典英文語言理解題
※兒童語言前關鍵技能——聽理解
※NLP與NLU:從語言理解到語言處理
※NLP 與 NLU:從語言理解到語言處理
※C語言動態內存分配基礎知識詳解
※安永經典英文語言理解題
※方法指導:解讀人物語言,揣摩人物思想
※一篇文章詳解C/C+語言位運算,快來圍觀吧!