C Primer 第六章習題及詳解

2021-10-14 03:49:32 字數 1215 閱讀 6956

解:形參是函式形式上的引數,用於規定實參的資料型別,實參是函式呼叫時,實際傳入的引數,是形參的初始化值。

int f() 

f2()

int calc (int v1, int v2) }

double square(double x) return x * x;

int fact(int nval)

return nret;

}

int fact(int nval)

return nret;

}int main()

}

int absolute(int nval)

int main()

}

// 指標版本

void exchange_pointer(int *pfirst, int *psecond)

// 引用版本

void exchange_reference(int &nfirst, int &nsecond)

答:使用引用更方便。

答:前者以傳值的方式傳遞引數,函式內部對入參的操作不會影響函式外部的實參。後者使用傳遞引用的方式傳遞引數,函式內部可以修改對應的實參.

答:當我們希望實參改變時,此時應該傳遞引用,若不希望實參改變,則傳值即可,當入參資料型別很大時,此時可以傳遞引用省去拷貝的步驟,提高程式效率。

std::string::size_type find_char(const std::string &str, char c, int &occurs)

++occurs;}}

return ret;

}

bool is_empty(std::string &str)

解答:因為在函式處理中,str並不需要改變,因此可以定義為常量。

// 不需要改變,但因資料型別可能很大,使用常量引用傳遞

bool ishasbig(const std::string &str)

}return false;

}// 需要改變,使用引用傳遞

void tolower(std::string &str)

}

C Primer第六章習題

6.4 編寫乙個與使用者互動的函式,要求使用者輸入乙個數字,計算生成該數字的階乘。在main函式中呼叫該函式。include using namespace std int factorial int num int main 6.5 編寫乙個函式輸出其實參的絕對值。include using na...

第六章習題

r1.個無線網路執行在 基礎設施模式 下是什麼含義?如果某網路沒有執行在基礎設施模式下,那麼它執行在什麼模式下?這種執行模式與基礎設施模式之間有什麼不同?在基礎結構操作模式下,每個無線主機都通過基站連線到較大的網路。如果未在基礎架構模式下執行,則網路將在臨時模式下執行。在自組織模式下,無基站,節點僅...

C primer 第六章 語句

1 有些程式設計風格建議總是在if後面使用花括號,這樣做可以避免日後修改 時產生混亂和錯誤。塊語句使用花括號是乙個比較好的做法。2 break語句用於結束最近的while do while for或者switch語句,並將程式的執行權傳遞給緊接在被終止語句之後的語句 跳出包含它的最裡層的迴圈,比如是...