1.3求2个数中较大者

作者在 2008-11-12 23:11:17 发布以下内容
#include<stdio.h>
void main()/*这是主函数*/
{
     int max( int x,int y);/*声明有一个名字是max的返回类型是(int)整形的函数,并且这个函数带有两个(int)整形参数x,y。(即,当调用这个函数时必须要给定两个变量作为函数运算时可用的变量)*/
     int a,b,c; /*定义三个整形变量a,b,c*/
     scanf("%d,%d",&a,&b);/*scanf()是一个读取键盘字符的函数,两个%d表示将接收两个正整数,分别保存到a和b两个变量。&符号是取变量的内存地址,通过内存地址把取到的值保存到变量里。*/
     c = max(a,b); /*调用max函数,a和b是函数的参数,与前面的x和y不同的地方是,a,b都有实际的值,本题通过scanf()函数取得的。而x,y是没有实际值的参数,起到标记的作用。因为函数max()的返回类型是(int)整形,所以函数执行完成后会有一个结果被返回出来而且这个结果是整数,我们在这里用整形的变量c来保存它的返回值。*/
     getchar();
     printf("max = %d\n",c); /*将保存在变量C中的函数返回值输出*/
     getchar();
}

int max(int x,int y)/*这是被调函数 实现返回x,y中较大的数*/
{
     int z; /*定义整形变量z*/
     if(x>y) /* if在这里理解成如果的意思,是c语言里的一种判断语句()括号里的是判断条件 这句话就是“如果x大于y”当条件成立时执行下一行语句,如果不成立就执行else下面的语句*/
     z = x;/*将x的值赋值给z 此时x是较大的值*/
     else /*否则即(x小于y) 执行下一行语句*/
     z = y; /*将y的值赋值给z 此时y是较大的值*/
/* 有if语句不一定有else语句,但有else语句必定有一个if与它对应,这个if是离它最近且没有配对的*/
     return(z); /*return返回函数,返回z的值,此时z所代表的是x和y中较大的数。
return通常出现在函数的最末尾,因为当执行了return后表示此函数以执行完毕*/
}
程序原样:
#include<stdio.h>
void main()
{
     int max(int x,int y);
     int a,b,c;
     scanf("%d,%d",&a,&b);
     c = max(a,b);
     getchar();
     printf("max = %d\n",c);
     getchar();    
}

int max(int x,int y)
{
     int z;
     if(x>y)
     z = x;
     else
     z = y;
     return(z);
}
默认分类 | 阅读 4848 次
文章评论,共4条
lylyxt
2008-11-13 11:08
1
直接来个?:语句不就好啦
flamemiracle
2008-11-13 18:59
2
能把简单问题搞复杂也是一种艺术啊
dubukuangye
2008-11-14 19:32
3
上面的两个getchar()有什么作用啊?
dubukuangye
2008-11-14 19:40
4
哦,你说在TC里面能更好的观察结果?我知道可以用getch(),但你有一篇说getchar是从键盘中读入,但我怎么记得getchar是像scanf一样从流读取?
游客请输入验证码
文章归档