我只有两个简单的问题,我希望有人可以为我澄清。
- 编写函数时,输入参数列表是否与参数相同?
- 当函数没有返回类型时是“return 0;” 只是遗漏了功能代码?
例如,如果我要编写一个用于在其输入参数列表中使用整数且没有返回类型的函数,这是否是编写它的正确方法?:
int convertTemp( int a, int b) {}
我只有两个简单的问题,我希望有人可以为我澄清。
例如,如果我要编写一个用于在其输入参数列表中使用整数且没有返回类型的函数,这是否是编写它的正确方法?:
int convertTemp( int a, int b) {}
int convertTemp( int a, int b) {}
应该:
void convertTemp( int a, int b) {}
如果函数不返回任何内容,int
则表示函数的返回类型为int
。请注意,您仍然可以return
在具有返回类型的函数中包含语句void
。
我同意上面的答案,返回类型应该改为void,并且在问第一个问题时需要区分形式参数和实际参数。形参是函数定义中的 a 和 b:
void func (int a, int b) {}
而函数调用中的实际参数是 2 和 3:
func (2,3)
其中 2 被复制到 a,3 被复制到 b。
你想要返回类型void
void convertTemp( int a, int b) {
//do stuff...
return; //optional, but a good habit to get in to
}
void
返回类型声明,并且不应具有return
语句中给定的值。使用void
返回类型声明函数将不返回任何内容:
void convertTemp( int a, int b) {
}
现在,当函数什么都不返回时,它如何转换 Temp 呢?
它绝对不应该在幕后修改某些状态(如全局变量)。
返回转换后的值是我所期望的。
void 返回类型必须更改为转换结果的类型。
当遇到像上面这样的代码时,我肯定会进行调查。