搜索
首页后端开发C++一些关于C/C++三元运算符的有趣观察
一些关于C/C++三元运算符的有趣观察Sep 15, 2023 pm 07:29 PM
三元运算符c/c观察

一些关于C/C++三元运算符的有趣观察

我们知道三元运算符是代替 if..else 子句实现的。它由 ?: 表示。 '?'符号相当于 if 部分,':' 相当于 else 部分。以下 3 个程序解释了三元运算符情况下的一些有趣的观察结果。

以下程序能够编译,没有任何错误。三元表达式的返回类型预计为 float(与 exp2 一样),并且 exp3(即文字零 - int 类型)能够隐式转换为 float。

#include <iostream>
using namespace std;
int main(){
   int test1 = 0;
   float fvalue = 3.111f;
   cout<< (test1 ? fvalue : 0) << endl;
   return 0;
}

以下程序将无法编译,原因是编译器无法定位或找到三元表达式的返回类型,或者exp2(char数组)和exp3(int)之间无法进行隐式转换。

#include <iostream>
using namespace std;
int main(){
   int test1 = 0;
   cout<< test1 ? "A String" : 0 << endl;
   return 0;
}

以下程序可能能够编译,但在运行时会失败。三元表达式的返回类型被限制为(char *)类型,但表达式返回 int,因此程序失败。从字面上看,程序尝试在执行时或运行时打印第 0 个地址处的字符串。

#include <iostream>
using namespace std;
int main(){
   int test1 = 0;
   cout << (test1 ? "A String" : 0) << endl;
   return 0;
}
我们可以观察到exp2被视为输出类型,exp3将能够在执行时或运行时转换为exp2。如果转换被视为隐式的话,编译器将 插入转换的存根。如果将转换视为显式操作,编译器将抛出错误。如果任何编译器能够忽略此类错误,则程序可能在执行时或运行时失败。

以上是一些关于C/C++三元运算符的有趣观察的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:tutorialspoint。如有侵权,请联系admin@php.cn删除
在C/C++中,strcmp()函数用于比较两个字符串在C/C++中,strcmp()函数用于比较两个字符串Sep 10, 2023 am 11:41 AM

Thefunctionstrcmp()isabuilt-inlibraryfunctionanditisdeclaredin&ldquo;string.h&rdquo;headerfile.Thisfunctionisusedtocomparethestringarguments.Itcomparesstringslexicographicallywhichmeansitcomparesboththestringscharacterbycharacter.Itstartscomp

在C/C++中,fseek()函数用于在文件中移动文件指针的位置在C/C++中,fseek()函数用于在文件中移动文件指针的位置Sep 02, 2023 pm 03:57 PM

fseek()在C语言中用于将文件指针移动到特定位置。偏移量和流是指针的目标,它们在函数参数中给出。如果成功,它返回零。如果不成功,它返回非零值。以下是C语言中fseek()的语法:intfseek(FILE*stream,longintoffset,intwhence)这里是在fseek()中使用的参数:stream&minus;这是用于标识流的指针。offset&minus;这是从位置开始的字节数。whence&minus;这是偏移量添加的位置。whence由以下常量

如何在C/C++中检测整数溢出?如何在C/C++中检测整数溢出?Aug 31, 2023 pm 01:53 PM

唯一安全的方法是在溢出发生之前进行检查。虽然有一些不正规的方法可以检查整数溢出。所以,如果你的目标是检测无符号整数相加的溢出,你可以检查结果是否实际上小于两个相加的值。例如,示例代码unsignedintx,y;unsignedintvalue=x+y;booloverflow=value<x;//Alternatively"value<y"shouldalsowork这是因为如果x和y都是无符号整数,如果相加后溢出,它们的值不能大于它们中的任何一个,因为它们需要

使用分支限界法在C/C++中实现0/1背包问题使用分支限界法在C/C++中实现0/1背包问题Sep 04, 2023 pm 08:17 PM

这个想法是为了实现贪婪方法为分数背包问题提供最佳解决方案这一事实。为了检查特定节点是否可以为我们提供更好的解决方案,我们计算最佳解决方案(通过节点)实施贪心方法。如果贪心法本身计算出的解比目前为止最好的解要多,那么我们就无法通过节点获得更好的解。完整的算法如下-根据每单位重量的价值比率的降序对所有项目进行排序,以便可以使用贪心法计算上限。初始化最大利润,例如maxProfit=0创建一个空队列Q。决策虚拟节点创建树并将其插入或排队到Q。虚拟节点的利润和权重为0。当Q不空或为空时执行以下操作。创建

贪心算法的C/C++程序,用于找到最少硬币数量贪心算法的C/C++程序,用于找到最少硬币数量Sep 19, 2023 pm 11:01 PM

贪心算法是一种用于寻找给定问题的最优解决方案的算法。贪婪算法的工作原理是找到每个部分的局部最优解(问题的一部分的最优解),因此表明可以找到全局最优解。在这个问题中,我们将使用贪婪算法算法来找到可以组成给定总和的最小硬币/纸币数量。为此,我们将考虑所有有效的硬币或纸币,即面额为{1,2,5,10,20,50,100,200,500,2000}。我们需要返回需要补足总和的硬币/纸币的数量。让我们举几个例子来更好地理解上下文-示例1-Input:1231Output:7说明-我们需要两张500卢比纸币

一些关于C/C++三元运算符的有趣观察一些关于C/C++三元运算符的有趣观察Sep 15, 2023 pm 07:29 PM

我们知道三元运算符是代替if..else子句实现的。它由?:表示。'?'符号相当于if部分,':'相当于else部分。以下3个程序解释了三元运算符情况下的一些有趣的观察结果。以下程序能够编译,没有任何错误。三元表达式的返回类型预计为float(与exp2一样),并且exp3(即文字零-int类型)能够隐式转换为float。#include<iostream>usingnamespacestd;intmain(){&nbsp;&nbsp;inttest1=0;&

如何在C/C++中使用枚举?如何在C/C++中使用枚举?Aug 28, 2023 pm 05:09 PM

枚举是C语言中的用户定义数据类型。它用于给整数常量赋予名称,使程序易于阅读和维护。关键字“enum”用于声明一个枚举。以下是C语言中枚举的语法:enumenum_name{const1,const2,.......};Theenumkeywordisalsousedtodefinethevariablesofenumtype.Therearetwowaystodefinethevariablesofenumtypeasfollows.enumweek{sunday,monday,tuesday,

在C/C++中,4维数组在C/C++中,4维数组Sep 01, 2023 pm 11:57 PM

一个4维数组是由3维数组组成的数组。算法Begin.Declarethevariables.Declarethearrayelements.Takethenoofelementsasinput.Taketheelementsasinput.Printtheelementsstoredinarray.End.这是一个4D数组的示例。#include<iostream>usingnamespacestd;intmain(){&nbsp;&nbsp;inta[2][2][3

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。