C與指標課後答案與程式設計練習(第一章)

IAMoldpan發表於2017-10-27

1.7問題

1.空白規則很大程度影響程式的美觀性,就如python強制要求縮排行一樣,良好的縮排可以大大提高程式的可讀性,是寫一個程式必不可少的環節。所以說空白使用規則很重要,也很必要。

2.這樣說可以將不同模組的程式分類放置,就和書的目錄一樣,需要時#include目錄就行,然後需要的內容裡面都有,尤其在大型程式時,將不同的函式分別變為模組,呼叫就用include,程式就會變得井井有條。

3.方便修改,方便查詢,增加常量的可讀性(但在C++中一般都使用const進行定義,C中也建議使用)

4."%d %s %g\n"

5.

    int quantity;
    int price;
    char department[10] = {0};
    scanf("%d %d %s",&quantity,&price,department);//注意輸入字串不要超過9

6.我們可以在可能超出範圍的地方進行手動檢查(自己編寫程式),但是C語言忽略檢查陣列下標行為的是因為下標是通過指標來操作的。

7.會比實際需要複製更多的字元,但因為output_col在之前已經進行了更新,所以說第二個字串複製到第一個字串會複製到合適的位置,唯一需要注意的就是strcpy可能會複製更多的字元到字串中,在空間不夠的字串中複製會導致記憶體洩漏,影響程式中其他的變數。

8、使用gets()會出現問題,因為gets不檢查越界,當輸入的字元比之前預設的多時,gets也會繼續執行,但是程式可能會出現記憶體洩漏的問題,在很多編譯器中已經禁止使用gets函式

在以下程式中,如果你輸入字元超過5個,則會將多於的字元放入位置的記憶體中,導致出現記憶體問題。

#include<stdio.h> 
int main(  )  
{
char s[5];
printf ("input one line: "); 
gets(s);
printf ("%s\n",s); 
return 0;
}  

相關文章