2016年8月29日 星期一

給新手的C++教學 (上冊) - 13 - 2. 編譯參數的建議設定

回到「給新手的C++教學 (上冊)」

回到「13. 額外語法 (Extra syntax)」

上一頁

你在寫程式的時候,是否曾經犯過白癡錯誤呢?
有些錯誤是人可以很輕易識別的,但是卻恰好符合C++的語法而不會讓電腦察覺異狀
例如:

#include<cstdio>
int main()
{
    float a,b;
    scanf("%d%d",&a,&b);
    printf("%d\n",a+b);
    return 0;
}

我知道你要做出小數加法,但是程式可以正常執行卻輸出錯誤答案 (不知道的趕快去試試看!輸入「0.1 0.1」,保證輸出不是「0.2」)
怎麼會這樣?Orz

又偏偏錯誤在寫程式當下很難被察覺,可能直到整個幾十行甚至幾百行的程式碼寫完之後,才發現程式執行起來不對勁 (你發現哪裡寫錯了嗎?XD)
這樣一來要回去檢查整個程式碼就是非常麻煩的一件事
偷偷告訴你,這種白癡錯誤其實可以偷懶叫學過C++的電腦幫你找哦~
保證萬無一失!

方法如下:

給新手的C++教學 (上冊) - 13 - 1. 「註解」的使用

回到「給新手的C++教學 (上冊)」

回到「13. 額外語法 (Extra syntax)」

上一頁 (這是第一頁)

如果有一天你想不開 (X) 去看了一年前寫的程式碼,很大的機會你是無法在短時間內就看懂的 (如果不相信的話可以實驗看看^_^)
真的嗎?
那就在寫程式的當下記錄這份程式碼在幹嘛的就好啦~
可是好麻煩喔,這樣有些想解釋更清楚的地方不就要再數數看在第幾行嗎?
例如以下程式碼:

#include<cstdio>
int main()
{
    printf("Hello world!\n");
    return 0;
}

你可能會想 (用Microsoft Word或記事本之類的) 寫個說明存成另一個檔案之類的:

這個程式會輸出「Hello world!\n」
第1行會引入標頭檔「cstdio」
第2行的「int」是主函式的型別
第2行的「main」是主函式的名字
第4行的「printf」是用來輸出的函式名字,兩個「"」裡面是要輸出的字串,所以這一行會讓程式輸出「Hello world!\n」
第5行是讓程式回傳0來正常結束

但是這樣的說明不論修改或閱讀都很麻煩 (因為還要指定或找到第幾行)
而且說明檔和程式碼是分開的,很不好管理
這時,「註解」就很好用了,它可以讓你直接把說明寫在程式碼裡面
用法如下:

/*灰色的字都是註解
它們可以讓你輕易地看出這份程式碼在幹嘛
例如這份程式碼會讓程式輸出「Hello world!\n」*/
#include<cstdio>//引入標頭檔「cstdio」
int main()//int是主函式的型別,main是主函式的名字
{
    printf("Hello world!\n");//輸出「Hello world!\n」
    /*「printf」是用來輸出的函式名字
      兩個「"」裡面是要輸出的字串*/
    return 0;//讓程式回傳0來正常結束
}

這樣就可以很清楚的知道程式的每個地方在做甚麼事了!
當然,註解並不會對原本程式碼的功能產生任何影響,你想寫甚麼就寫甚麼、想寫多少就寫多少!

甚麼,你說你還是覺得另外開檔案存說明比較好?