C语言中三目运算符_c语言中的单目运算符

C语言中三目运算符_c语言中的单目运算符三目运算符三目运算符:也叫三元运算符。这个运算符的符号是:?:语法:表达式1?表达式2:表达式3;语义:先执行表达式1,执行完毕,表达式1的结果如果为真,那么执行表达式2,并且这

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

三目运算符

             三目运算符:也叫三元运算符。这个运算符的符号是: ? :

 

 语法:

     表达式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;

}

 

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

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

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


相关推荐

  • mybatis的拦截器_拦截所有来电怎么设置

    mybatis的拦截器_拦截所有来电怎么设置一、官网介绍MyBatis允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括:Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)拦截执行器的方法; ParameterHandler(ge…

    2025年10月14日
    3
  • IDEA 2018 2020 2021 2022 各版本对Maven版本兼容问题汇总「建议收藏」

    IDEA 2018 2020 2021 2022 各版本对Maven版本兼容问题汇总「建议收藏」IDEA2022兼容maven3.8.1及之前的所用版本IDEA2021兼容maven3.8IDEA2018202020212022各版本对Maven版本兼容问题汇总Maven3.6.3版本兼容问题错误信息如下:1.IDEA2021兼容maven3.8.1及之前的所用版本2.IDEA2020兼容Maven3.6.3及之前所有版本3.IDEA2018兼容Maven3.6.1及之前所有版本IDEA2022兼容maven3.8.1及之前的所用版本

    2022年8月22日
    81
  • 英文字体 艺术_英文字体免费商用

    英文字体 艺术_英文字体免费商用今天分享字体集合特别分享给平面设计师。在这篇文章中,你可以找到25款新鲜出炉的免费英文艺术字体。在之前,我发表了众多高品质字体相关的文章,有手写字体、空心字体、火焰字体、简历字体、涂鸦字体、节日字体、

    2022年8月2日
    17
  • pgrouting 路径规划_路径分析是什么意思

    pgrouting 路径规划_路径分析是什么意思一.技术背景,相关技术介绍   PgRouting是基于开源空间数据库PostGIS用于网络分析的扩展模块,最初它被称作pgDijkstra,因为它只是利用Dijkstra算法实现最短路径搜索,之后慢慢添加了其他的路径分析算法,如A算法,双向A算法,Dijkstra算法,双向Dijkstra算法,tsp货郎担算法等,然后被更名为pgRouting[1]。该扩展库依托PostGIS自身的g…

    2022年8月24日
    5
  • 工作量证明(PoW)的内部攻击模型「建议收藏」

    工作量证明(PoW)的内部攻击模型「建议收藏」虽然,POW算法其实并没有协调选择博弈论中的安全性,因为多数联盟可以形成和有益的审查和回复块。但是当我们考虑PoW的攻击时,通常不会考虑到矿工联合攻击,而是想到购买矿工设备或者对更重链进行挖矿。这篇文章主要是谈论PoW对抗控制半数哈希力攻击的能力,不允许租用,或贿赂矿工,或与矿工进行任何其他形式的合作。外部攻击外部攻击者购买足够的GPU或者ASIC直到完成对可信网络的“51%攻击”,或者至少…

    2022年5月28日
    42
  • 红帽子linux 架设ftp,RedHatLinux9架设FTP服务器方法[通俗易懂]

    红帽子linux 架设ftp,RedHatLinux9架设FTP服务器方法[通俗易懂]1.安装vsftpd服务器vsftpd是目前Linux最好的FTP服务器工具之一,其中的vs就是“VerySecure”(很安全)的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。如果选择完全安装RedHatLinux9.0,则系统会默认安装vsftpd服务器。我们可以在终端命令窗口输入以下命令进行验证:[root@ahpengroot]rpm-qagrepvsf…

    2022年7月21日
    17

发表回复

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

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