c语言三目运算符例子_单目运算符与双目运算符

c语言三目运算符例子_单目运算符与双目运算符1.运算方向从左往右,从右往左结合,只有一个表达式被计算百度百科:三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。对于条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1.运算方向从左往右,从右往左结合,只有一个表达式被计算

百度百科:三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。

对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。

验证

int main()
{
	int a=3,b=3,c=1,k=4;
//	printf("%d\n",k>a?2: c<b?(--k):++k);  //2
//	printf("%d\n",k);		      //4
	
	printf("%d\n",k<=a?2: c<b?(--k):++k); //3
	printf("%d\n",k);                     //3
	
	
}

如果读取顺序为从右到左,k应该从4自减为3,从输出结果可以看出k值没变。说明三元运算符从右往左结合,但是运算还是从左往右。

2.表达式 (n>0)?f:n的类型是float,与n是否为正值无关


	int a=1;
	float b=4.0;

	printf("%d\n",typeid(int)==typeid(1>0?a:b)); //0
	printf("%d\n",typeid(int)==typeid(1>0?b:a)); //0
	printf("%d\n",typeid(float)==typeid(1>0?a:b));//1
	printf("%d\n",typeid(float)==typeid(1>0?b:a));//1

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188122.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python在线音乐播放器_python实现音乐播放器「建议收藏」

    python在线音乐播放器_python实现音乐播放器「建议收藏」python是一个比较活泼的语言,它可以很快速、很方便地实现很多有意思的东西。最近,学习了一下如何使用python制作一个简单的音乐播放器,整体的效果如下图所示。所需要的导入的库tkinterostimethreadingpygame如果没有安装这个库,简单粗暴的pipinstall+库例如,我没有安装过pygame这个库,准备工作下载音乐,喜欢的歌曲,选择mp3格式这里,给大家提供一个…

    2022年6月26日
    44
  • Mac配置Maven环境[通俗易懂]

    Mac配置Maven环境[通俗易懂]1.下载maven包到本地https://maven.apache.org/download.cgi1.在应用程序找到终端(实用工具)文件夹里面2.输入命令:vi~/.bash_profile输入i进入编辑模式输入:(注意⚠️M2_HOME需要填写为自己的路径哦~)exportM2_HOME=/Library/apache-maven-3.5.3exportPATH…

    2022年5月15日
    62
  • MSSQL 的QUOTENAME函数「建议收藏」

    MSSQL 的QUOTENAME函数「建议收藏」–功能:返回带有分隔符的Unicode字符串,分隔符的加入可使输入的字符串成为有效的MSSQL分隔标识符。–语法QUOTENAME(‘character_string'[,’quote_character’]) –SQL语句中的字段名,表名为关键字时,用QUOTENAME添加有效分隔符() –在动态查询中,对表名参数QUOTENAME处理,避免表名为

    2022年7月25日
    14
  • centos7 top命令_top命令结果详解

    centos7 top命令_top命令结果详解top命令Linuxtop命令用于实时显示process的动态。top参数详解第一行,任务队列信息**系统当前时间:**13:52:56**系统开机后到现在的总运行时间:**up66

    2022年7月30日
    11
  • PLSQL Developer连接Oracle11g 64位数据库配置详解

    PLSQL Developer连接Oracle11g 64位数据库配置详解最近换了台64bit的电脑,所以oracle数据库也跟着换成了64bit的,不过问题也随之产生,由于plsqldeveloper暂时没有64bit版本的,所以无法连接到64bit的oracle上,经过一番折腾,终于成功连接到数据库上,现记录下配置过程,以便查看。

    2022年5月26日
    57
  • LayoutParams的详解

    LayoutParams的详解简述:LayoutParams继承于Android.View.ViewGroup.LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。通俗地讲(这里借鉴了网上的一

    2022年4月19日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号