用函数初步实现比较俩个数字的大小

简介: 用函数初步实现比较俩个数字的大小

用函数初步实现比较俩个数字的大小


函数是什么?顾名思义,从小时候我们开始学起的方程,一元二次方程..........都是函数,但是在C语言中,函数是用英文字母表现出来的有规律的整体,不可缺少任一部分!


仍记得:从一开始的if判断语句中,比较俩个数字的大小,老师给我们上了一堂生动形象的课,现在仍然能够写出用if判断语句表示俩个数字的大小的代码(不过更加熟练,再也没有了刚开始时候的羞涩感)


话不多说,直接上用if语句判断,并比较俩个数字的大小的代码:


//用if语句比较俩个数字的大小
#include <stdio.h>
int main()
{
  int a = 0, b = 0;
  int max=0;
  printf("请输入俩个整数:\n");
  scanf_s("%d %d", &a, &b);
  if (a > b)
  max = a;
  if (a < b)
  max = b;
  printf("max=%d\n", max);
  return 0;
}


在这里,用if语句表示判断,比较俩个数字的大小,并且输出最大值max=%d;


然而,C语言的世界不是一成不变的,现在,用函数思想来表示,显得更为复杂化,但是,在一个长的项目里面,遇见,比较大小的情况,总不能每次都敲写那么多的代码来运行吧!?因此,用函数来统一书写,到用的时候直接调用,显得更加简单易懂。


但是,对于如何用函数正确书写目的代码,不同的人有着不同的思维逻辑,在此,笔者对于:用函数初步实现比较俩个数字的大小,仅仅提供有限的几种方法,至于其他办法,还希望读者自我琢磨研究!


//法1:
#include <stdio.h>
int max(int x, int y)
{
  int max = 0;
  if (x > y)
     max = x;
  if (x < y)
  max = y;
  return max;
}
int main()
{
int a = 0, b = 0;
scanf_s("%d,%d", &a, &b);
int k = max(a, b);
printf("max=%d\n", k);
return 0;
}


用函数来实现,主要多了一部分叫做:函数体,这个主要是:对函数的实现其主要作用;


在函数体中选取的部分代码:


 

if (x > y)
        max = x;
    if (x < y)
        max = y;
    return max;

返回值:return max;在这里max是整型,所以在一开始时候定义的为int型,着重强调一下:根据返回值类型来定义函数类型!!!


函数的运转结果为:


0a2653c851af460fa595bd959398a8f1.png


这个“>"与"<"都是二目运算符,但是对于唯一一个三目运算符:(表达式?表达式:表达式),不知道有没有尝试过?


下面笔者用这个三目运行算符写出了代码:


敬请欣赏:


// 法2
 #include <stdio.h>
int max(int x, int y)
{
  int k = x > y ? x : y;
  return k;
}
int main()
{
  int a = 0, b = 0;
  scanf_s("%d,%d", &a, &b);
  int k = max(a, b);
  printf("max=%d\n", k);
  return 0;
}


在函数体那里,将最大值赋值给k,然后在将k返回,因此结果也是一样的,在此直接搬运上面的运行结果即可!


相关文章
|
存储 机器学习/深度学习 Java
数组的定义和使用(全是干货)
数组的定义和使用(全是干货)
148 0
|
3月前
|
C语言 索引 Python
利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
100 4
|
7月前
字符串,每个里面包含0-N个数字,如3,8,2,编写函数,将两个这样的字符串合并,并且输出的字符串里面没有重复的数字,并从大到小排列.
字符串,每个里面包含0-N个数字,如3,8,2,编写函数,将两个这样的字符串合并,并且输出的字符串里面没有重复的数字,并从大到小排列.
40 0
|
7月前
|
C语言
超全超详细的字符串操作函数和字符分类函数(附模拟实现)
超全超详细的字符串操作函数和字符分类函数(附模拟实现)
C语言第二十八弹--输入一个非负整数,返回组成它的数字之和
C语言第二十八弹--输入一个非负整数,返回组成它的数字之和
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
109 0