C语言之三目运算符详解编程语言

三目运算符

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

 

 语法:

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

}

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13534.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论