解:形參是函式形式上的引數,用於規定實參的資料型別,實參是函式呼叫時,實際傳入的引數,是形參的初始化值。
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語句,並將程式的執行權傳遞給緊接在被終止語句之後的語句 跳出包含它的最裡層的迴圈,比如是...