【重学c之路】day 3

96 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天,点击查看活动详情

# 求两个整数中的较大者

解题思路: 用函数来实现求两个整数中的较大值,在主函数中调用此函数并输出结果。

=======================

#include<stdio.h>

//主函数

int main()   //定义主函数

{    //主函数体开始

int max(int x,int y);    //对被调用函数max的声明

int a,b,c;   //定义变量a,b,c

scanf("%d,%d",&a,&b);    //输入变量a,b的值

c=max(a,b);    //调用max函数,将得到的值赋给c

printf("max=%d\n",c);   //输出c的值

return 0//返回函数值为0

}           //主函数体结束

//求两个整数中较大者的max函数

int max(int x,int y)     //定义max函数,函数值为整形,形式参数x和y为整形

{

int z;     //max函数中的声明部分,定义本函数中用到的变量z为整形

if(x>y)z=x;    //若x>y成立,将x的值赋给变量y

else z=y;     //则(即x>y不成立),将y的值赋给变量z

return(z);

}
运行结果: 8,5

max=8

程序分析: 本程序中共包含两个函数:1 主函数main 2 被调用函数max;

max函数的作用是将x和y中较大的值赋给变量z,第18行中的return语句将z的值作为max的函数值返回给调用max函数的函数(即主函数main),返回值是通过函数名max带回到main函数中去的

程序的第七行scanf是函数的名字(scanf和printf都是c的标准输入输出函数)。该scanf函数的作用是输入变量a和b的值。scanf后面圆括号包含两部分内容,一是双撇号中的内容,他指定输入的数据按什么格式输入,%d的含义是以十进制整数形式,二是输入的数据准备放到哪里,即赋给哪个变量值。在c语言中,&是地址符号,&a的含义是“变量a的地址”,执行scanf函数,从键盘读入两个整数,放到变量a和b的地址,然后把这两个整数分别赋给变量a和b。

在执行print函数时,对对撇号括起来的max=%d\n是这样处理的:将max=原样输出,%d由变量c的值取代,\n的作用是换行。