码迷,mamicode.com
首页 > 编程语言 > 详细

C语言之三目运算符

时间:2016-10-23 20:14:39      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:c语言   表达   argv   语法   三元运算   三元运算符   ret   例子   ons   

三目运算符

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

 

 语法:

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

}

 

C语言之三目运算符

标签:c语言   表达   argv   语法   三元运算   三元运算符   ret   例子   ons   

原文地址:http://www.cnblogs.com/jialiangliang/p/5990581.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!