C语言之三目运算符
三目运算符
三目运算符:也叫三元运算符。这个运算符的符号是: ? :
语法:
表达式1 ? 表达式2 : 表达式3;
语义:
先执行表达式1,执行完毕,表达式1的结果如果为真,那么执行表达式2,并且这个整体的运算式的结果是表达式2的结果,否则执行表达式3,运算式的结果是表达式3的结果
跟
if(表达式1){
表达式2;
}else{
表达式3;
}
用一个口水化来表达三目表达式:
表达式1 ? 表达式2 : 表达式3;
表达式1成立吗?成立执行表达式2,否则执行表达式3
tips:代码例子如下
#include <stdio.h>
int main(int argc, const char * argv[]) {
// int res = 1 ? 10 : 20;
// printf("res=%d\n",res);//10
// int res = 0 ? 10 : 20;
// printf("res=%d\n",res);//20
//三目表达式和if-else语句可以互换
/*
// int num1=10,num2=20,num3=30;
// int res = num1 ? num1+num2 : num1+num3;
// printf("res=%d\n",res);//30
// int num1=10,num2=20,num3=30;
// int res = 0;
//
// if(num1){
// res = num1 + num2;
// }else{
// res = num1 + num3;
// }
// printf("res=%d\n",res);//30
*/
//注意后++的问题
/*
int num1=10,num2=20;
int res = num1 > num2 ? num1++ : num2++;
printf("num1=%d num2=%d res=%d\n",num1,num2,res);//10 21 20
// int num1= 10;
// int num2 = num1++;
//
// printf("num1=%d num2=%d\n",num1,num2);//11 10
*/
return 0;
}
C语言之三目运算符的更多相关文章
- iOS开发-【C语言】三目运算符
		
1.N目运算符 像逻辑非(!).负号(-)这种只连接一个数据的符号,称为“单目运算符”,比如!5.-5.像算术运算符.关系运算符.逻辑运算符这种连接二个数据的负号,称为“双目运算符”,比如6+7.8* ...
 - 【学习笔记】【C语言】三目运算符
		
1.N目运算符 像逻辑非(!).负号(-)这种只连接一个数据的符号,称为“单目运算符”,比如!5.-5.像算术运算符.关系运算符.逻辑运算符这种连接二个数据的负号,称为“双目运算符”,比如6+7.8* ...
 - C语言的三目运算符(x=a?b:c):条件运算符
		
三目运算符使用是为了有条件判断的选择赋值 x = a ? b : c 先计算 a表达式 是否为真.若为真,x 的值便是 b表达式的值,否则 x的值便是 c表达式的值. 条件运算符是右结合的. 如:a ...
 - 李洪强漫谈iOS开发[C语言-032]-三目运算符
 - C语言的三目运算符
		
语法: 表达式1 ? 表达式2 : 表达式3; 等价于 if(表达式1) { 表达式2 } else { 表达式3 }
 - python25  python的三目运算符
		
其他语言的三目运算符大类似: 条件 ? 条件为真返回值: 条件为假返回值 python不一样: 条件为真的返回值 if 条件 else 条件为假的返回值 或者 ...
 - 三目运算的使用&bytes类型转str类型
		
一.三目运算的使用 就像c语言中有三目运算符一样,python中也有三目运算符,废话不多说直接上代码 a=3 c=4 b=a if a>c else c print(b) 意思就和 if a&g ...
 - Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助
		
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
 - C++入门篇二
		
c++是c语言的增强版,但是和c语言之间有何区别呢? c和c++的区别: 1.全局变量检测增强int a;int a=10; 2.函数检测增强,参数类型增强,返回值检测增强,函数调用参数检测增强(参数 ...
 
随机推荐
- 【c#操作office】--OleDbDataAdapter 与OleDbDataReader方式读取excel,并转换为datatable
			
OleDbDataAdapter方式: /// <summary> /// 读取excel的表格放到DataTable中 ---OleDbDataAdapter /// </summ ...
 - .NET Reflector 7.6.1.824安装及破解(刚试了,绝对能用)
			
首先下载在这里http://download.csdn.net/detail/gattaca2011/4578752,不要到官网去了,由于官网已经是8.0了. 然后就是安装,执行注冊机(注意断网),详 ...
 - sql2005还原超长sql脚本,还原超大脚本文件
			
原文:sql2005还原超长sql脚本,还原超大脚本文件 从外网把数据库用导出脚本的方式导出来了,280M的样子,导是导出来了,但是在本机执行sql脚本的时候,直接就是out of memory,之前 ...
 - 1951: [Sdoi2010]古文字猪
			
1951: [Sdoi2010]古代猪文 链接:Click Here~ 题目: 一道非常好的组合数学题.!!.题目非常长.只是就以下几段话实用. iPig认为仅仅要符合文献,每一种能整除N的k都是有可 ...
 - 使用WCF订阅替换轮训
			
之前因为某些特定岗位的人不知道是不方便还是什么的原因,所以随便做了个独立于所有系统之外的邮件审批服务,功能是那些人在邮件里给待审批单据发个“同意”就自动审批通过,大致分为3部分:第一部分每隔固定时间去 ...
 - IE6浏览器不支持固定定位(position:fixed)解决方案
			
代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w ...
 - 【Oracle】-【ROWNUM与索引】-索引对ROWNUM检索的影响
			
看到ASK TOM的一篇文章,挺有感触的. http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:32812348052 ...
 - UrlRouting的理解
			
UrlRouting的理解 文章内容 根据对Http Runtime和Http Pipeline的分析,我们知道一个ASP.NET应用程序可以有多个HttpModuel,但是只能有一个HttpHand ...
 - Forget Java to learn Javascript from 0.--Day 1
			
The first day,when I read 'we need practice so we need a Javascript Interpreter.','Every browser has ...
 - WebSocket在ASP.NET MVC4中的简单实现
			
WebSocket在ASP.NET MVC4中的简单实现 2013-12-21 20:48 by 小白哥哥, 810 阅读, 3 评论, 收藏, 编辑 WebSocket 规范的目标是在浏览器中实现和 ...