C语言输出最大值问题
intmax(inta,intb);main(){intx,y,z;printf("inputtwonumbers:\n");scanf("%d%d",&x,&y);z=...
int max(int a,int b);
main(){
int x,y,z;
printf("input two numbers:\n");scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d",z);
}
int max(int a,int b){
if(a>b)return a;else return b;
}
大概是这个样的``为什么要return 返回值而不直接输出呢`我记得报子上看过有void就必须有个return 是正确的吗? 返回给主函数调用有什么意义? 展开
main(){
int x,y,z;
printf("input two numbers:\n");scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d",z);
}
int max(int a,int b){
if(a>b)return a;else return b;
}
大概是这个样的``为什么要return 返回值而不直接输出呢`我记得报子上看过有void就必须有个return 是正确的吗? 返回给主函数调用有什么意义? 展开
8个回答
展开全部
void代表的是一个过程,也就是说没有返回值的,所以
void f1()
{
.....
}
main()
{
int x;
x=f1(); /* 错误,因为f1这个函数没有值(返回值), 所以不能赋值*/
}
而你那个必须要返回的,所以定义为了int
当然如果你喜欢,可以写个不用RETURN的
比如
#include<stdio.h>
void max(int,int);//先调用后说明要用函数原型
main()
{
int x,y;
printf("input two numbers:\n");
scanf("%d%d",&x,&y);
max(x,y);
return 0;
}
void max(int a,int b)
{
if (a>b)printf("maxmum=%d",a);
else printf("maxmum=%d",b);
}
qq:107395975
还有什么不知道就加吧
当初我学RETURn 也搞了好久才弄懂
看你的思路了
void f1()
{
.....
}
main()
{
int x;
x=f1(); /* 错误,因为f1这个函数没有值(返回值), 所以不能赋值*/
}
而你那个必须要返回的,所以定义为了int
当然如果你喜欢,可以写个不用RETURN的
比如
#include<stdio.h>
void max(int,int);//先调用后说明要用函数原型
main()
{
int x,y;
printf("input two numbers:\n");
scanf("%d%d",&x,&y);
max(x,y);
return 0;
}
void max(int a,int b)
{
if (a>b)printf("maxmum=%d",a);
else printf("maxmum=%d",b);
}
qq:107395975
还有什么不知道就加吧
当初我学RETURn 也搞了好久才弄懂
看你的思路了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有void的函数是不允许有return的。
你的程序里主函数调用了
int max(int a,int b){
if(a>b)return a;else return b;
}
这个函数。
就是当你程序执行到z=max(x,y); 这句的时候。
将x,y的值分别传递给函数max()中的a,b。
然后执行max()函数中的代码,也就是比较,
再将大数返回到主函数调用的地方,这个值传给了z,
然后由主函数中的printf("maxmum=%d",z); 语句输出这个值。
现在理解这个程序了吗?
你的程序里主函数调用了
int max(int a,int b){
if(a>b)return a;else return b;
}
这个函数。
就是当你程序执行到z=max(x,y); 这句的时候。
将x,y的值分别传递给函数max()中的a,b。
然后执行max()函数中的代码,也就是比较,
再将大数返回到主函数调用的地方,这个值传给了z,
然后由主函数中的printf("maxmum=%d",z); 语句输出这个值。
现在理解这个程序了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#define SIZE_MAX 30
int max(int b[],int n);
int min(int b[],int n);
int main(void)
{
int a[SIZE_MAX],b,c,i,m;
printf("任意多个数,判断最大值和最小值:\n");
printf("输入一个数,表示你想比较多少个数字:\n");
scanf("%d",&m);
printf("你输入了%d个数\n",m);
printf("请你输入%d个数\n",m);
for(i=0;i<m;i++)
{
scanf("%d",&a[i]);
}
b=max(a,m);
c=min(a,m);
printf("你输入的%d分别是:\n",m);
for(i=0;i<m;i++)
{
printf("%d\n",a[i]);
}
printf("最大数是:%d\n",b);
printf("最小数是:%d\n",c);
return 0;
}
int max(int b[],int n)
{
int k,i;
k=b[0];
for(i=0;i<n;i++)
{
if(k<b[i])
k=b[i];
}
return k;
}
int min(int b[0],int n)
{
int k,i;
k=b[0];
for(i=0;i<n;i++)
{
if(k>b[i])
k=b[i];
}
return k;
}
#define SIZE_MAX 30
int max(int b[],int n);
int min(int b[],int n);
int main(void)
{
int a[SIZE_MAX],b,c,i,m;
printf("任意多个数,判断最大值和最小值:\n");
printf("输入一个数,表示你想比较多少个数字:\n");
scanf("%d",&m);
printf("你输入了%d个数\n",m);
printf("请你输入%d个数\n",m);
for(i=0;i<m;i++)
{
scanf("%d",&a[i]);
}
b=max(a,m);
c=min(a,m);
printf("你输入的%d分别是:\n",m);
for(i=0;i<m;i++)
{
printf("%d\n",a[i]);
}
printf("最大数是:%d\n",b);
printf("最小数是:%d\n",c);
return 0;
}
int max(int b[],int n)
{
int k,i;
k=b[0];
for(i=0;i<n;i++)
{
if(k<b[i])
k=b[i];
}
return k;
}
int min(int b[0],int n)
{
int k,i;
k=b[0];
for(i=0;i<n;i++)
{
if(k>b[i])
k=b[i];
}
return k;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为z=max(x,y);所以return是将值赋给z
而void声名的函数是没有返回值的
这样就可以不用返回值而直接输出
void max(int a,int b)
{
if(a>b)
printf("maxmum=%d",a);
else
printf("maxmum=%d",b);
}
而void声名的函数是没有返回值的
这样就可以不用返回值而直接输出
void max(int a,int b)
{
if(a>b)
printf("maxmum=%d",a);
else
printf("maxmum=%d",b);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询