C++程序求问

来源:百度知道 编辑:UC知道 时间:2024/05/15 03:41:16
内个
char letter(char C1,char C2)
和语句
char letter( )
{
char C1;
char C2;
}
是等价的么?

显然不是 前一个带参数

后一个是在函数内部定义的变量

等价,两者都实现了在函数内部声明字符变量

第一个:定义一个char类型的函数,该函数可以接收两个char类型的参数,该函数功能未知(由函数体决定)。
第二个:定义一个没有参数的char类型的函数,该函数的功能是定义两个char类型的变量。

不等价的

首先,就子函数内部的变量个数来说的话,这两个函数都声明了两个内部变量,
并且都为char型,变量名也都为C1,C2

但是,注意一下,从函数的角度来看,虽然这两个函数都声明了两个内部变量,
但是这两个函数是不等价的,
因为他们的参数完全不同:
char letter(char C1,char C2) //有两个参数,分别为char C1,char C2,外部函数调用letter()时,必须传入两个参数值
char letter()//没有参数(参数为void),外部函数调用letter()时,不用传入参数

所以是不等价的

第一个是函数,第二个是结构