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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2019全球最火的编程语言,学哪个前景更好?(转行者必看)

    2019全球最火的编程语言,学哪个前景更好?(转行者必看)

    2022年2月11日
    40
  • MyBatis入门学习(一)

    MyBatis入门学习(一)

    2021年12月10日
    40
  • java 配置事务回滚_Spring@Transactional事务回滚

    java 配置事务回滚_Spring@Transactional事务回滚Spring中事务分为编程时事务和声明式事务,编程式事务:编程人员通过代码控制事务的开启、回滚、提交,声明式事务:把事务的处理交给spring。使用注解@transactional配置就是声明式事务。基本配置在applicationContext.xml配置文件中1//配置spring的DataSourceTransactionManager事务管理器23class=”org…

    2022年10月21日
    1
  • TCP连接异常终止(RST包)场景分析

    TCP连接异常终止(RST包)场景分析一、TCP异常终止(reset报文)TCP的异常终止是相对于正常释放TCP连接的过程而言的,我们都知道,TCP连接的建立是通过三次握手完成的,而TCP正常释放连接是通过四次挥手来完成。但是有些情况下,TCP在交互的过程中会出现一些意想不到的情况,导致TCP无法按照正常的三次握手建立连接或四次挥手来释放连接。如果此时不通过其他的方式来释放TCP连接的话,这个TCP连接将会一直存在,占用系统的资源。在这种情况下,我们就需要有一种能够释放TCP连接的机制,这种机制就是TCP的reset报文。reset报文是指

    2022年10月1日
    2
  • Linux rpm安装jdk1.8

    Linux rpm安装jdk1.8前言每次需要配置JDK的时候都需要去网上搜一下,这次专门写下博客以备后用,虽然这个博客实在是太!简!单!了!亲测CentOS6,CentOS7都没有问题第一步:卸载系统自带的JDKrpm-qa|grepjava#xxxyyyzzz为你要卸载的插件,插件之间以空格隔开rpm-e–nodepsxxxyyyzzz第二步:安装JDK1.8…

    2022年6月11日
    31
  • 银行账户管理系统详细设计说明书

    银行账户管理系统详细设计说明书银行账户管理系统详细设计,附源码于博主的GitHub个人主页中。

    2022年6月11日
    45

发表回复

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

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