一个c语言中return的用法?

来源:百度知道 编辑:UC知道 时间:2024/05/15 10:39:27
下面上是我看到的一本教材上的一篇例题,为什么结果输出总是3129?
我把return(z); 去掉后又可以得到正确的答案,我就是问他在里面加这个
return(z);语句有什么作用呢?> 而且还是错误的 .
#include <stdio.h>
int max(int,int);
int max(int x,int y)
{ int z;
if(x > y)
z = x;
else
z = y;
return(z);
}
void main()
{ int a, b, c;
scanf("%d\n,%d\n", &a , &b);
c = max(a,b);
printf("max = %d\n",c);
}
哦 我打错了 本来是没有\n的

但是去掉\n以后 结果还是不变 3129 无论输入什么数字 结果都是3129呢?

return在这里有什么作用? 什么时候需要用到return?

int max(int,int);
int max(int x,int y)
{ int z;
if(x > y)
z = x;
else
z = y;
return(z);
}
这里的return(z);是什么意思 为什么到返回到z就不行了,值总是输出3129呢? 你们运行的试试~~~~~
总得不到正确结果 程序本身好象没有错误

跟return 没有任何关系,肯定是scanf()的问题

不然你用下面这个语句:
c = (a>=b)?a:b; 代替 c = max(a,b);

你再仔细检查一下scanf()函数

不妨写成这样:scanf("%d,%d",&a,&b);
输入:3,4
(注意输入格式一定要与scanf()的格式一样)

你把scanf("%d\n,%d\n", &a , &b);
改为:scanf("%d%d", &a , &b);
就不会有问题了,是你scanf使用不当,查下scanf的格式

一个函数如果调用 return 以后这个函数就停止执行并退出了.

比如

#include <stdio.h>

int main(int argc,char* argv[])
{
printf("下面执行return\n");
return 0;
printf("这里就不会被执行\n");
}

另外如果需要一个函数返回某个值也需要用 return 比如

int i = max(1,2);

这里 max 函数就应该这么写

int max(int a,int b)
{
if(a>b){
return a;
}else{
return b;
}
}

这里 return 就返回值了所以 i 就等于大的那个数