您当前的位置:首页 > 美文欣赏 > 内容

C语言问号表达式?x++&&y++x:y

如果表达式一的值为“逻辑假”则运行表达式三,如果表达式一的值为“逻辑真”则运行表达式二,先运行表达式一的逻辑值,并将表达式三的值作为整个问号表达式的值,并将表达式二的值作为整个问号表达式的值,即将y的值作为整个问号表达式的值,即将x的值作为整个问号表达式的值,显然x和y是两个数字:x&&y是表达式一。

C语言问号表达式

……?……:……

式A?B:C值为:若A为真,则B;若A为假,则C。

但有一点是值得注意的,那就是问号表达式的结合性,问号表达式是从右往左的运算方向

尤其是当问号表达式嵌套使用时得注意这个问题,例如

代码:

int a=1,b=2,c=3,d=4;

printf(“%d“,a《b?a:c《d?c:d);

正确结果是:1

因为先执行的是c《d?c:d,会返回c,然后执行a《b?a:c

因此得到的结果就是1(可以在编译器上实验一下)

x++&&y++x:y

这一句相当于下面三句:x&&y?x:y;x++;y++;后两句很简单,就不说了。第一句是问号运算表达式,问号表达式的结构是:《表达式一》?《表达式二》:《表达式三》;它的运算过程是,先运行表达式一的逻辑值,如果表达式一的值为“逻辑真”则运行表达式二,并将表达式二的值作为整个问号表达式的值;如果表达式一的值为“逻辑假”则运行表达式三,并将表达式三的值作为整个问号表达式的值。在本例中,显然x和y是两个数字:x&&y是表达式一,x是表达式二,y是表达式三。在运行表达式一时,&&是“逻辑与”的运算符号,x和y两个数字被当成逻辑值参与运算。c语言规定,数字0为逻辑假,非0数字都是逻辑假。x&&y的运算结果是:x与y都不是0时,结果为逻辑真;x与y只要有一个是0,结果都是逻辑假。根据表达式一的结果,当x与y均非0时,执行表达式二,x,即将x的值作为整个问号表达式的值;当x与y中有任何一个为0时,执行表达式三,y,即将y的值作为整个问号表达式的值。有什么不明白的地方请留言。

C语言指针变量

假设a是一个抽屉,里面只能放一个整数,(就是所谓的int,这个不重要),当这个抽屉存在的时候,它就已经有一个编号了(就是地址),这个号是系统编的,不能更改。而p是另一个抽屉,里面只能放编号,p=&a,就是把a的编号放到p这个抽屉里,现在如果你知道了p里放的编号,你就可以按照这个编号找到这个对应的抽屉。这就对应上了,不知道你能看明白不?a就是10,这里的10就是a,它俩是同一个东西,当然放在同一个地方,这个地方的序号比如1000,这个序号保存在p里。a和10在这里就是一码事,它俩指的是同一个东西,比如一只白狗叫a,这个a就是指这只白狗,a和这只白狗此时就是一回事,同一个东西在某一时刻还能在俩地方吗?

如何在易语言中调用其它编程语言程序

运行 (“C:\1.exe”, 假, ) 调用格式: 〈逻辑型〉 运行 (文本型 欲运行的命令行,逻辑型 是否等待程序运行完毕,[整数型 被运行程序窗口显示方式]) - 系统核心支持库-》系统处理 英文名称:run 本命令运行指定的可执行文件或者外部命令。如果成功,返回真,否则返回假。本命令为初级命令。 参数《1》的名称为“欲运行的命令行”,类型为“文本型(text)”。 参数《2》的名称为“是否等待程序运行完毕”,类型为“逻辑型(bool)”,初始值为“假”。 参数《3》的名称为“被运行程序窗口显示方式”,类型为“整数型(int)”,可以被省略。参数值可以为以下常量之一:1、#隐藏窗口; 2、#普通激活; 3、#最小化激活; 4、#最大化激活; 5、#普通不激活; 6、#最小化不激活。如果省略本参数,默认为“普通激活”方式。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: soa 案例(消息中间件是什么意思)

下一篇: javascript 教程(谁有比较好的javascript视频教程)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号