C语言入门:a和b 比大小

判断较大值

输入两个数a,b,判断哪一个较大,将较大的输出。

#include <stdio.h>

int main()
{
int a, b;
printf("请输入两个数:\n");
scanf("%d %d", &a, &b);
if (a > b)
{
printf("较大的数是:%d\n", a);
}
else
{
printf("较大的数是:%d\n", b);
}
return 0;
}

这段代码是一个非常经典的 C 语言入门程序,它的功能是比较两个整数的大小,并输出其中较大的那个数

它展示了 C 语言中最基础也是最重要的三个概念:变量输入条件判断结果输出

🧩 代码结构解析

1. 变量声明

这里声明了两个整型变量 ab
它们就像是两个空的盒子,准备用来存放用户稍后输入的两个数字。

2. 用户交互与输入

printf: 在屏幕上打印提示信息,告诉用户程序正在等待输入。
scanf: 这是 C 语言的标准输入函数。
复制代码
##### `%d %d`: 表示期待读取两个十进制整数,中间用空格隔开。
复制代码
##### `&a, &b`: 这里的 `&` 是取地址符。它的作用是把读取到的两个数字,分别存放到变量 `a` 和 `b` 在内存中的地址里。简单来说,就是把数字放进刚才声明的那两个"盒子"里。

3. 核心逻辑:if-else 条件判断

if (a > b): 程序会先判断括号里的条件是否成立。
复制代码
##### **情况一(条件成立)**:如果 `a` 确实大于 `b`,程序就会执行 `if` 后面花括号 `{}` 里的代码,打印出 `a` 的值。
复制代码
##### **情况二(条件不成立)**:如果 `a` 不大于 `b`(意味着 `a` 小于 `b`,或者 `a` 等于 `b`),程序就会跳过 `if` 的代码块,直接执行 `else` 后面花括号 `{}` 里的代码,打印出 `b` 的值。
逻辑细节
复制代码
##### 当 `a > b` 时,输出 `a`(正确)。
复制代码
##### 当 `a < b` 时,输出 `b`(正确)。
复制代码
##### 当 `a == b` 时,`a > b` 不成立,程序走 `else` 分支输出 `b`。因为两数相等,输出任意一个都是正确的"较大值"(实际上是相等值)。

🚶‍♂️ 执行流程模拟

让我们模拟一下程序的运行过程:

场景一:a 比 b 大
用户输入:10 5(回车)
a 被赋值为 10,b 被赋值为 5。
判断 if (10 > 5)?是的,条件成立。
执行 if 块内的代码,屏幕输出:较大的数是:10
场景二:b 比 a 大
用户输入:3 8(回车)
a 被赋值为 3,b 被赋值为 8。
判断 if (3 > 8)?不是,条件不成立。
程序跳转到 else 块,屏幕输出:较大的数是:8

💡 拓展知识:更简洁的写法(三目运算符)

虽然 if-else 结构非常清晰易懂,

但在 C 语言中,对于这种简单的"二选一"赋值或判断,还有一种更"极客"的写法,叫做条件运算符 (也叫三目运算符 ? :)。

解释(a > b) 是条件,如果条件为真(非0),则表达式的值是 a;如果条件为假(0),则表达式的值是 b

相关推荐
呃呃本几秒前
算法题(矩阵)
线性代数·算法·矩阵
2301_789015621 分钟前
Linux基础指令(一)
linux·运维·服务器·c语言·开发语言·c++·linux指令
呃呃本10 分钟前
算法题(普通数组、矩阵)
线性代数·算法·矩阵
计算机安禾16 分钟前
【计算机网络】第11篇:链路状态路由协议——Dijkstra算法与OSPF的分区架构
计算机网络·算法·架构
珂朵莉MM16 分钟前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第二赛季优化题--遗传算法
人工智能·算法
gihigo199817 分钟前
严格耦合波分析计算光栅衍射效率算法
算法
可编程芯片开发19 分钟前
基于双Qlearning强化学习的温差发电系统电压动态补偿算法matlab仿真
算法·matlab·双qlearning强化学习·电压动态补偿·温差发电系统
Java成神之路-23 分钟前
【LeetCode 刷题笔记】69.x 的平方根 | 二分查找经典刷题题解
算法·leetcode
灵智实验室24 分钟前
PX4状态估计技术EKF2详解(一):EKF2 开篇——从分离到统一
算法·无人机·px 4
小智老师PMP25 分钟前
六月PMP晚启动急救|现在开始,每天2-3小时,稳冲一次上岸(附可直接照搬计划)
算法·软件工程·求职招聘·产品经理·敏捷流程