扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
第一,min函数的形参a和b必须加上类型符。
成都创新互联专注于峨山县企业网站建设,响应式网站开发,商城网站制作。峨山县网站建设公司,为峨山县等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
第二,scanf两个%d之间不能有逗号。
int min(int a,int b)
{int c;
c=ab?b:a;
return c;}
void main()
{int x,y;
printf("please input xy:");
scanf("%d%d",x,y);
printf("%d",min(x,y));}
#includestdio.h
int min(int *num1,int *num2)//这里的指针*num1,*num2就是形参
{
if(*num1*num2)
return *num1;
else
return *num2;
}
int main()
{
int n1,n2;
scanf("%d%d",n1,n2);
printf("%d",min(n1,n2));//这里的n1,n2两个地址就是实参
return 0;
}
答:改错如下所示,在程序错误部分有提示。
#include stdio.h
int main (void){
int a,b,c,max;//第一处错误,max定义未使用,t未定义却使用了。有两种解决办法,将下面t出现的地方用max代替,或者重新定义t,取消对max的定义。
printf (""请输入3个整数:\n");
scanf ("%d%d%d" , a ,b,c);
if (ab);//第二处错误,if语句后有对应的操作,不能出现分号,否则会变成空语句,对应的操作也不会执行。此处删除分号,即可。
{t=a; a=b; b=t; }//第三处错误,t未定义,建议替换成max
。
if (ac)
{t
=a; c=a
; c=t; }//第四处错误,t未定义,还有第二个语句应改为a=c
。
if(bc)//第五处错误,按降序排序,判断条件应改成bc
。
{ t
=b; b=c; c=t
;}//第六处错误,t未定义,建议用max替换。
printf("由大到小顺序为:%d %d %d \n" ,a,b,c);
return 0;
}
max里的叫形参,可以随便用哪个都一样的,大概你是新手,不知道什么是形参和实参吧~
形参与实参的区别:
高级语言在设计程序模块时,模块名定义后,紧跟其后所定义的参数(括弧内)被称为形参(也称虚参)。当该模块被调用时,在主调模块中,出现在被调用的模块名后的参数被称为实参。实参代替虚参的过程被称为虚、实结合,也称换参。多数高级语言的换参是由编译系统来完成,比如C语言和FORTRAN语言亦是如此。BASIC语言的换参则是由程序设计人员来完成的。如果只允许实参向虚参传递,则被称为“单向传递”,C语言的变量类虚、实结合即是“单向传递”。如果同时允许虚参向实参传递,这种传递被称为“双向传递”,FORTRAN 语言定义的子程序即是如此。 当C语言的形参为数组时,形参不另辟存储单元,形参与实参共用内存存储单元。这样,可以节省内存。 C语言在定义函数的同时,对于有参函数,也同时定义了形参。在调用该函数的同时,也指明了实参。实参与形参在内存分别占有两套不同的存储单元(数组除外),但是形参只有在函数被调用过程中才分配存储单元,调用结束后形参占用的单元被释放。数组元素作为实参时,也做为变量来处理。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流