比如 long fun (int n )
{if(n>1)
return (n*fun(n-1);
return 1;}
如果不输入return 1就是答案就是不对的,而有些函数不需要返回return 1 return 0也是对的- -。求高手指导一下c 语言 什么情况下用到return1 和return 0
第1个回答 2012-07-30
return 0表示返回值类型为整型int。
第2个回答 2012-07-30
因为你的函数定义了返回值类型long,所以必须有返回值,并且是long类型的
其他类型的也是同理
其他类型的也是同理
第3个回答 推荐于2018-08-01
// return 0或者1关键是看你有没有使用这个,如一个输出函数,不需要返回值
int my_output()
{
printf("Hello World!\n");
return 1;
}
// 这里即可以return 0;也可以return 1;因为实际中不需要此返回值,所以此函数还可以写成
void my_output()
{
printf("Hello World!\n");
}
// 但是如果要使用函数中的返回值,如判断一个字符是否是字母的函数
int is_char(char x)
{
if (x >= 'a' && x <= 'z' || x >= 'A' && x <= 'Z')
return 1;
else
return 0;
}
// 因为使用is_char函数的时候,需要判断参数x是否是字母,所以返回1说明是字母,返回0不是字母,
// 这里返回0和1就有区别了。总之返回值是什么关键看你怎么使用函数的返回值。本回答被网友采纳
int my_output()
{
printf("Hello World!\n");
return 1;
}
// 这里即可以return 0;也可以return 1;因为实际中不需要此返回值,所以此函数还可以写成
void my_output()
{
printf("Hello World!\n");
}
// 但是如果要使用函数中的返回值,如判断一个字符是否是字母的函数
int is_char(char x)
{
if (x >= 'a' && x <= 'z' || x >= 'A' && x <= 'Z')
return 1;
else
return 0;
}
// 因为使用is_char函数的时候,需要判断参数x是否是字母,所以返回1说明是字母,返回0不是字母,
// 这里返回0和1就有区别了。总之返回值是什么关键看你怎么使用函数的返回值。本回答被网友采纳
第4个回答 2012-07-30
1.返回值看函数定义的返回值类型
2.需不需要返回值,得看你自己,
2.需不需要返回值,得看你自己,
第5个回答 推荐于2017-09-13
首先,声明返回值类型为long,那么函数中必须return 一个long或者可以隐式转换为long的值。其次,分支判断中的return有不执行的可能,编译器会警告,也可能出错。这里return 1;其实是else{ return 1;}为什么呢;楼主想想,既然函数是自身调用的递归,那么什么时候递归结束呢?是n <=1其实应该是n ==1;ok,那么返回值是什么呢,1的阶乘是1,所以在此返回1.这是楼主彻底误解的关键
其次,说说main返回值的含义。这是个典型,大家都用,如果main的执行某个地方(如malloc)出错,那么,通常会向操作系统返回-1,来表示我的主程序在执行过程中遇到错误退出,返回0表示正常退出。返回值在于让外部知道你的运行情况,一般返回负数表示运行失败。
其次,说说main返回值的含义。这是个典型,大家都用,如果main的执行某个地方(如malloc)出错,那么,通常会向操作系统返回-1,来表示我的主程序在执行过程中遇到错误退出,返回0表示正常退出。返回值在于让外部知道你的运行情况,一般返回负数表示运行失败。