C语言的函数可以返回数组以外(不包括数组指针)的任何类型.
不写明返回类型, 在以前的 C 语言版本中是默认返回 int, 现在 C99、C++ 已不支持.
void 表示没有返回值, 也就无须 return 语句; 如果是其他语句必须有 return 语句.
在 main 函数中(只是 main 函数)若忘掉 return, 有些编译器会自动添加 return 0;
1. 每执行 return 语句函数将会退出:
#include <stdio.h>
int main(void)
{
printf("111\n");
printf("222\n");
return 0; /* 之后的语句将不会执行 */
printf("333\n");
printf("444\n");
getchar();
return 0;
}
2. 如果函数没有返回值, 可以借无参数的 return 跳出:
#include <stdio.h>
void prn(void);
int main(void)
{
prn();
getchar();
return 0;
}
void prn(void) {
printf("111\n");
printf("222\n");
return; /* 无参数的 return */
printf("333\n");
printf("444\n");
}
3. return 后面不是"等号", 但返回值也可以写在括号中:
#include <stdio.h>
long long MySqr(int x);
int main(void)
{
int i = 9;
i = MySqr(i);
printf("%d\n", i);
getchar();
return 0;
}
long long MySqr(int x) {
return(x*x); /* 返回值在括号中 */
}