前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C/C++条件表达式

C/C++条件表达式

作者头像
英雄爱吃土豆片
发布2020-10-29 11:06:10
8160
发布2020-10-29 11:06:10
举报
文章被收录于专栏:英雄爱吃土豆片

C/C++条件表达式使用三目运算符 ?:完成,适当条件下可与 if else 语句相互替换。 条件表达式优点在于可直接返回表达式运算的结果。

条件表达式的使用分为三个部分,示例如下:

代码语言:javascript
复制
c ? a : b;

其中 c 为判断条件,a,b 可为具体的值或是算式。 表达式先对 c 进行判断,若 c 的判断结果不为 0 (或 true),返回 a 的值或运算结果;若 c 的判断结果为 0 (或 false),则返回 b 的值或运算结果。如下:

a,b 为具体数值:

代码语言:javascript
复制
a > b ? a : b;

a,b 为算式:

代码语言:javascript
复制
a > b ? (a - b) : (b - a);

示例程序: 求两个数中的最大值:

代码语言:javascript
复制
#include <stdio.h>

int main() {
	int a, b, max;
	
	scanf("%d%d", &a, &b);
	
	max = a > b ? a : b;
	
	printf("%d", max);
	
	return 0;
} 

等同于

代码语言:javascript
复制
#include <stdio.h>

int main() {
	int a, b, max;
	
	scanf("%d%d", &a, &b);
	
	if (a > b) {
		max = a;	
	} else {
		max = b;	
	}
	
	printf("%d", max);
	
	return 0;
} 

示例程序: 求两个数的差,结果总是为大的数减去小的数

代码语言:javascript
复制
#include <stdio.h>

int main() {
	int a, b, res;
	
	scanf("%d%d", &a, &b);
	
	res = a > b ? (a - b) : (b - a);
	
	printf("%d", res);
	
	return 0;
} 

等同于

代码语言:javascript
复制
#include <stdio.h>

int main() {
	int a, b, res;
	
	scanf("%d%d", &a, &b);
	
	if (a > b) {
		res = a - b;
	} else {
		res = b - a;
	}
	
	printf("%d", res);
	
	return 0;
} 

我们还可以将表达式直接输出或者将其作为函数返回值。

直接输出表达式:

代码语言:javascript
复制
#include <stdio.h>

int main() {
	int a, b;
	
	scanf("%d%d", &a, &b);
	
	printf("%d", a > b ? a : b);
	
	return 0;
}

表达式作为函数返回值:

代码语言:javascript
复制
#include <stdio.h>

int getMax(int a, int b) {
	
	return a > b ? a : b;
} 

int main() {
	int a, b, max;
	
	scanf("%d%d", &a, &b);
	
	max = getMax(a, b);
	
	printf("%d", max);
	
	return 0;
}

毕。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/09/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档