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

相关推荐
木木子221 小时前
# 鸿蒙 ArkTS 实战:秒表 Stopwatch(示例 5)
数据结构·华为·list·harmonyos
geats人山人海2 小时前
数据结构第六章c语言 树的存储下二叉树的概念和存储
c语言·数据结构·算法
漂流瓶jz3 小时前
UVA-12627 奇怪的气球膨胀 题解答案代码 算法竞赛入门经典第二版
算法·图论·递归·aoapc·算法竞赛入门经典·uva·12627
影视飓风TIM3 小时前
Linux下C语言缓冲区原理 + Git版本控制
linux·c语言·git
jarvisuni3 小时前
DeepSeekFlash前端依旧拉垮,而且变慢了很多!
前端·javascript·算法
kobesdu3 小时前
流形上的优化:SO(3)与SE(3)的广义加减法在FAST-LIO中如何简化状态估计
人工智能·算法·fastlio
白狐_7983 小时前
408 数据结构算法题 01:线性表暴力求解保分指南
java·数据结构·算法
乐观勇敢坚强的老彭3 小时前
C++信奥:开关门、开关灯问题
开发语言·c++·算法
冻柠檬飞冰走茶3 小时前
PTA基础编程题目集 7-31 字符串循环左移(C语言实现)
c语言·开发语言·数据结构·算法
Hi李耶4 小时前
【LeetCode】4-寻找两个正序数组的中位数
算法·leetcode·职场和发展