return 用来终止一个函数并返回其后面跟着的值给函数的调用者。
return关键字退出函数运行的同时,给函数返回怎么样的数据?是什么类型的数据?是int类型?char类型?还是void类型?
其实,return返回的数据类型是由函数定义决定的,函数定义的时候,有“返回数据类型”这样的属性,它决定了return返回的数据类型。
return (Val);//此括号可以省略。但一般不省略,尤其在返回一个表达式的值时。
return 可以返回些什么东西呢?看下面例子:
char * Func(void)
{
char str[30];
…
return str;
}
str 属于局部变量,位于栈内存中,在 Func 结束的时候被释放,所以返回 str 将导致错误。
return 语句不可返回指向“栈内存”的“指针”,因为该内存在函数体结束时被自动销毁。
这个语句有问题吗?如果没有问题,那返回的是什么?
return ;
语句是没有问题的。
不过有前提的,是在void类型的函数内才能这样用,作用是结束本函数,此语句后面的语句都不执行了。