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;}

 posted on 2018-08-13 11:09  linlh  阅读(140)  评论(0编辑  收藏  举报