作业帮 > 综合 > 作业

C语言比较3个数大小的两种不同写法,有什么利弊?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/29 13:34:48
C语言比较3个数大小的两种不同写法,有什么利弊?
第一种;
int main()
{
\x05int max(int x,int y,int z);
\x05int a,b,c,d;
\x05printf("输入a,b,c:");
\x05scanf("%d,%d,%d",&a,&b,&c);
\x05d=max(a,b,c);
\x05printf("max=%d\n",d);
\x05return main();
\x05return 0;
}
int max(int x,int y,int z)
{
int m;
if(x>y)m=x;
else m=y;
if(m>z)m=m;
else m=z;
return (m);
\x05}
第二种;
int main()
{ int a,b,c,d;
\x05printf("输入abc:");
\x05scanf("%d,%d,%d",&a,&b,&c);
\x05if(a>b)d=a;
\x05else d=b;
\x05if(d>c)d=d;
\x05else d=c;
\x05printf("max=%d",d);
\x05return 0;
\x05}
第一个当然比第二个好,你把一个独立的功能但写成函数,降低了程序的耦合性,你在程序中其他位置如果需要比较三个数的大小时,只需要调用max()函数就行,这种很单一的小功能,可以写成内联函数,可以提高程序效率,提高的部分基本可以忽略,除非用这个函数的位置非常非常多;
好程序的标准,高聚合,低耦合;函数功能单一;