6.1
实参是 数据本身,形参通过实参来初始化。
形参可以理解成实参的一份拷贝,在函数中起作用而不影响数据本身。
如果想要直接使用实参,要用指针和引用。
6.2
(a) int f() {
string s;
// ...
return s; //返回的是string,而函数声明的是int 不匹配
}
(b) f2(int i) { /* ... */ }//没有返回类型 可以考虑加void
(c) int calc(int v1, int v2) /* ... */ }//缺少一部分花括号
(d) double square (double x) return x * x; //没有花括号
6.3
#include <iostream>
int fact(int i)
{
return i > 1 ? i * fact( i - 1 ) : 1;
}
int main()
{
std::cout << std::boolalpha << (120 == fact(5)) << std::endl;
return 0;
}
6.4
#include <iostream>
int fact(int i)
{
return i > 1 ? i * fact( i - 1 ) : 1;
}
int main()
{
int i=0;
std::cout << "输入一个数字:"<<std::endl;
std::cin >> i;
std::cout << "阶乘为"<<fact()<<std::endl;
return 0;
}
6.5
#include <iostream>
int abs(int i)
{
return i > 0 ? i : -i;
}
int main()
{ int a = -1;
std::cout << abs(a) << std::endl;
return 0;
}