返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中唯一的三元运算符是什么
  • 811
分享到

C++中唯一的三元运算符是什么

2023-06-14 07:06:06 811人浏览 八月长安
摘要

这篇文章给大家分享的是有关c++中唯一的三元运算符是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。C++三元运算符是?:C++有3种运算符:算数运算符、关系运算符和逻辑运算符。运算符在计算机中的执行顺序 运算

这篇文章给大家分享的是有关c++中唯一的三元运算符是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

C++三元运算符是?:

C++有3种运算符:算数运算符、关系运算符和逻辑运算符。

运算符在计算机中的执行顺序

运算符用来构成表达式并指示计算机执行计算,其基本特性就是优先级和结合律。在没有使用小括号确定一个复合表达式中个运算符的计算顺序的情况下,编译器将使用它们的优先级和结合律老确定计算顺序,优先级越高的运算符越先运算。

如果代码行中的运算符比较多,用括号确定表达式中每一个子表达式的计算顺序,避免使用默认优先级。

C++中唯一的三元运算符

条件运算符“?:“,其语法为:

// 条件表达式 ? 表达式1 : 表达式2;bool b_show = true;int state = b_show ? 0 : 1;// state = 0;

语义:如果“条件表达式”为true,则整个表达式的值就是表达式1,忽略表达式2;如果“条件表达式”为false,则整个表达式的值就是表达式2,忽略表达式1。等价于以下if/else语句

Result result;if (条件表达式){ result = 表达式1;}else{ result = 表达式2;}

C++三元运算符的一个有意思的地方

同学群里面讨论的,感觉很有意思,就记录下来了。

问题如下:

代码一

cout << (1 > 2 ? 1 : "1") << endl;

代码二

cout << (1 > 2 ? 0 : "1") << endl;

代码三

cout << (1 > 2 ? "hello" : "hi") << endl;

运行结果是代码一出错 error C2446: “:”: 没有从“const char *”到“int”的转换,代码二和三没有任何问题。

这里再回顾下三元运算符的用法。

val = exp1 ? exp2 : exp3

exp1为真则val = exp2否则val = exp3。

因此不论什么时候都会涉及到一个val后等号的类型转换。

答案其实很简单,0可以视作null,因此默认代码二中cout输出类型是char *,代码三中亦是如此,而代码一中则会出现两种不同的类型,无法顺利进行类型转换。

此外如果是代码二的条件为假的情况,则连endl也不会输出,这个就不知道怎么回事了。

代码四:

cout << (1 > 2 ? 0 : '1') << endl;

会正确的转换成int类型。

结论:

编译器在编译的时候就根据exp2和exp3确定了val的接收类型,再传给cout。

这里一个不规范的0的写法导致了代码二的正常执行。

感谢各位的阅读!关于“C++中唯一的三元运算符是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: C++中唯一的三元运算符是什么

本文链接: https://lsjlt.com/news/268737.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++中唯一的三元运算符是什么
    这篇文章给大家分享的是有关C++中唯一的三元运算符是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。C++三元运算符是?:C++有3种运算符:算数运算符、关系运算符和逻辑运算符。运算符在计算机中的执行顺序 运算...
    99+
    2023-06-14
  • 什么是c语言中唯一的三目运算符
    c 语言中唯一的三目运算符是条件表达式,用于简化 if-else 语句。语法:条件 值1 : 值2,其中条件为布尔表达式,值1 和值2 分别为真和假的情况下的返回值。 C 语言中唯一...
    99+
    2024-04-13
    c语言
  • C++中唯一三元运算符?:实例详解
    C++三元运算符?: C++有3种运算符:算数运算符、关系运算符和逻辑运算符。 运算符在计算机中的执行顺序 运算符用来构成表达式并指示计算机执行计算,其基本特性就是优先级和结合律。...
    99+
    2024-04-02
  • JS中三元运算符的语法是什么
    本篇内容主要讲解“JS中三元运算符的语法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS中三元运算符的语法是什么”吧!三元运算符(也称为条件运算符)可用...
    99+
    2024-04-02
  • C#的sizeof运算符和三元运算符怎么用
    本文小编为大家详细介绍“C#的sizeof运算符和三元运算符怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#的sizeof运算符和三元运算符怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实例usi...
    99+
    2023-06-17
  • C语言三元运算符怎么用
    今天小编给大家分享一下C语言三元运算符怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。三元运算符:#include&nb...
    99+
    2023-06-17
  • c#中:是什么运算符
    在 c# 中,运算符是执行变量操作的符号,包括:算术运算符:执行数学运算,如加减乘除模运算。关系运算符:比较两个表达式值,如等于、不等于、大于、小于。逻辑运算符:对布尔值进行逻辑操作,如...
    99+
    2024-05-10
    c#
  • c++中/是什么运算符
    c++ 中的 / 运算符用于执行除法,将两个操作数相除并返回浮点数结果。如果两个操作数都是整数,则执行整数除法,结果被截断为整数;否则,执行浮点除法,结果为浮点数。如果 operand2...
    99+
    2024-05-01
    c++
  • php中三元运算符怎么用
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑在 PHP 中,三元运算符可以实现简单的条件判断功能,即根据第一个表达式的结果在另外两个表达式中选择一个并执行,三元运算符也被称为三目运算符或者条件运算符。三元运算符的...
    99+
    2020-12-30
    php 三元运算符
  • java中三目元算符的运算原理
    格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2运算原理:布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。相关视频教程推荐:java学习...
    99+
    2021-03-10
    java 三目运算符 运算原理
  • Python中的三目运算符(三元表达式)
    一般支持三目运算符的语言(如C语言)的语法格式一般是这样的: 判断条件(返回布尔值)?为真时的结果:为假时的结果 比如: x = x%2==1 x+1:x; python并不支持 :这种符号所表达的先判断再选择的含义,但仍然有相应的...
    99+
    2023-01-31
    表达式 运算符 Python
  • Python中的三目(元)运算符详解
    目录Python 三元运算符一、示例 1:使用三元运算符找出两个数字中的最大值。二、示例 2:根据条件的返回值,Python 执行打印语句之一三、示例 3:使用嵌套的三元运算符,找到...
    99+
    2024-04-02
  • c语言中=是什么运算符
    在 c 语言中,“=”是赋值运算符,它用于将值赋予变量。例如:int x = 5; 此代码将数字 5 赋值给变量 x。该运算符的优先级很低,从右向左执行,且与比较运算符 !=(不等号)不...
    99+
    2024-05-08
    c语言
  • 怎么在JavaScript中使用三元运算符
    本篇文章给大家分享的是有关怎么在JavaScript中使用三元运算符,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。JavaScript可以做什么1.可以使网页具有交互性,例如响...
    99+
    2023-06-14
  • 详解C++编程中一元运算符的重载
    可重载的一元运算符如下: !(逻辑“非”) &(取址) ~(二进制反码) *(取消指针引用) +(一元加) -(一元求反) ++(递增) --(递减) 转换运算符 后...
    99+
    2022-06-04
    详解 运算符
  • C#中运算符的优先级是什么
    本文小编为大家详细介绍“C#中运算符的优先级是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中运算符的优先级是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。C# 中的运算符优先级运算符的优先级确定表...
    99+
    2023-06-17
  • c#中运算符?和??的区别是什么
    和 运算符都是条件运算符,用于选择值。 运算符如果任一操作数为 null 则引发异常, 运算符用于安全处理空值,如果左操作数为 null,则返回右操作数。 C# 中运算符 和 ...
    99+
    2024-05-10
    c#
  • java三目运算符的用法是什么
    Java中的三目运算符(也称为条件运算符)是一种简洁的条件表达式,用于根据条件的结果选择不同的值。三目运算符的语法如下:```条件 ...
    99+
    2023-10-10
    java
  • python三元运算符的示例分析
    小编给大家分享一下python三元运算符的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!三元运算符:我们经常会根据条件,将变量设置成不同的值:if&nbs...
    99+
    2023-06-27
  • JavaScript一元运算符怎么用
    这篇文章主要介绍了JavaScript一元运算符怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript一元运算符怎么用文章都会有所收获,下面我们一起来看看吧。...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作