6.1:实参和形参的区别是什么?
Ans:实参是主调函数中函数调用运算符的表达式中的值,用于初始化被调函数的参数,也就是用于初始化形参,形参的作用域在于被调函数内,而实参的作用域在调用的位置往后都有效。并且实参与形参是一一对应的,类型也要匹配或者能转换。
6.2:请指出下列函数哪个有错误,为什么?应该如何修改这些错误呢?
(a)int f() {
string s;
//......
return s;
}
(b)f2 (int i ) { /*......*/}
(c)int calc ( int v1, int v1) /*....*/}
(d)double square (double x) return x*x;
Ans:a)有错误。返回值的类型是int类型,而return语句后面的值的类型是string。
修改之后:
string f() {
string s;
//......
return s;
}
b)有错误。函数返回类型不能省略。
修改之后:void f2 (int i ) { /*......*/}
c)有错误。函数的形参不能出现同名,并且函数体的花括号少了左括号。
修改之后:int calc ( int v1, int v2) { /*....*/}
d)有错误。函数体必须要由花括号括起来。
修改之后:double square (double x) { return x*x;}