C子函数一定要有return()语句吗?

来源:百度知道 编辑:UC知道 时间:2024/06/05 02:35:33
没有不行吗?
比如如果我想比较俩个数,小的在前面,大的在后面,按此写个子函数,例如:
int swap(int x,int y)
{
int t;
if(x>y)
{t=x;x=y;y=t;} *********************
}
可以吗?是不是标有*****************的语句后面必须有return语句?

从语法上来讲不是必须的,因为若函数体的末尾不是return语句则编译程序会自动帮你插入一句。但是有三个问题必须要注意:
1、如上面各位所言,如果函数有返回值,这个自动加入的语句无法完成任务,因此会报错。
2、如果不是在函数末尾处返回,这个机制无法完成。
3、这样依赖于系统缺省方式不是一个好的编程习惯。

这个函数必须要有return语句,因为swap声明为返回一个int值的函数,所以一定要返回一个int值
如果你不想返回一个值,可以将swap函数声明为void

int swap(int x,int y)
因为是int 型,必须要return语句.

若用void 就不要return语句.
void swap(int x,int y)

void swap(int *x,int *y)

有返回类型的必须要有!

不一定,如果程序在子函数已经处理完成,子函数就可以无返回值.