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

相关推荐
JieE2121 天前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
JieE2122 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
Jack202 天前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法
小小杨树2 天前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色
JieE2123 天前
LeetCode 226. 翻转二叉树|JS 递归超详细拆解,二叉树入门经典题
javascript·算法
JieE2123 天前
LeetCode 104. 二叉树的最大深度|递归思路超详细拆解
javascript·算法
vivo互联网技术3 天前
CVPR 2026 | 全新强化学习框架 BeautyGRPO:重塑真实人像
算法·大模型·cvpr·影像
Darling噜啦啦3 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
用户497863050733 天前
(一)小红的数组操作
算法·编程语言