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_80025611几秒前
数据结构基础期末复习例题
数据结构·算法
变量未定义~26 分钟前
单调栈-四元组问题
数据结构·算法
冷小鱼33 分钟前
AI Agent 核心算法:任务规划(Planning)的深度技术解析
人工智能·算法·planning
退休倒计时41 分钟前
【每日一题】LeetCode 78. 子集 TypeScript
算法·leetcode·typescript
旖-旎1 小时前
《LeetCode 978 最长湍流子数组 || LeetCode 139 单词拆分》
c++·算法·leetcode·动态规划
时间的拾荒人1 小时前
C语言编译与链接:从源码到可执行程序的完整解析
c语言·开发语言
cxr8281 小时前
第16章 跨域迁移与能力融合——从专家到通才
人工智能·算法·智能体·hermes
学究天人1 小时前
数学公理体系大全:Comprehensive Collection of Mathematical Axiom Systems(补充卷9)
人工智能·线性代数·算法·数学建模·动态规划·原型模式·抽象代数
Keven_111 小时前
算法札记:图的存储方式
算法·图论
斯文的八宝粥1 小时前
SERL:让真机强化学习从“难用”走向“可复现”的强化学习框架 ----(4)算法篇(DrQ vs VICE)
算法