##函数最后的return的作用是什么啊,为什么有时候删去没有影响,有时候删掉就不行
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("max = %d\n", max(a, b));
return 0;
}
int max( int a, int b ){
int i;
if (a>b){
i=a;
}else{
i=b;
}
return i;//为什么这句话去掉了也没有什么影响? 不是要用它返回引用函数的地方吗?
}
#include
int reverse( int number );
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", reverse(n));
return 0;
}
int reverse( int number ){
int t,result=0;
do{
t=number%10;
result=result*10+t;
number/=10;
}while (number!=0);
return result;**_//这里去掉这句就不行了 输入12345 输出0 **_
}
当你的函数要求有返回值但没有写return时,会默认返回一个值
不同编译器默认的返回值不一样
有的默认返回1
有的会默认返回最后一个操作过的对象的值
那么你max函数最后给i赋值了,所以即使你不写return i,其实还是相当于return i
而你reverse函数最后一个操作的变量是number,你返回的是number而不是result
当你的函数要求有返回值但没有写return时,会默认返回一个值
不同编译器默认的返回值不一样
最后一个操作的变量是number,你返回的是number而不是result
一个函数的入口或者出口,就只有函数参数和函数返回值, 函数返回值一般是函数的一个出口,为了控制函数内部数据或者函数处理结果的对外反馈