现在的位置: 首页 > web前端 > 正文

问号表达式的例子

2020年07月20日 web前端 ⁄ 共 858字 ⁄ 字号 评论关闭

  这篇文章主要介绍了python实现问号(?)表达式的方法,大家参考使用吧python中的and和or和其它语言的用法。


  C语言问号表达式


  问号表达式 


  (表达式1)?(表达式2):(表达式3)


  如果表达式1成立则执行表达式2,否则执行表达式3


   举例


    inta=5,b=3;


    printf("%d",a>b;a:b);


  运行


  如果a大于b成立则执行:前面的即输出a。否则执行:后面的即输出b。本例中输出结果为5


   注意事项


  问号表达式是从右向左运行


  例如 


   inta=8,b=3,c=7;


   printf("%d",a>b?a>c?a:c:b>c?b:c);


  可以分成三步完成


  第一步:b>c?b:c结果为c


  第二步:a>c?a:c结果为a


  第三步:前两步的结果分别对应表达式3和表达式2即a>b?a:c


  最终输出结果为a即8


  问号表达式和逗号表达式


  问号表达式:


  #include<stdio.h>


  voidmain()


  {


  inta,b,c,d,e;


  c=9;


  d=8;


  scanf("%d,%d",&a,&b);


  e=(a>b)?c:d;


  printf("%d\n",e);


  }


  可以理解为,如果a>b则e=c,否则e=d。“=”后整体表达式可以看做(表达式1)?(表达式2):(表达式3);


  逗号表达式:


  #include<stdio.h>


  voidmain()


  {


  inta,b,c,d,e;


  c=9;


  d=8;


  scanf("%d,%d",&a,&b);


  e=((a=b+c),a+d);


  printf("%d\n",e);


  }


  在问号表达式基础上做一下微小的更改得出:


  逗号表达式的优先级最低,e=((a=b+c),a+d)中先计算b+c赋值给a,然后计算a+d赋值给e;这只是一个最简单的逗号表达式,还可以在a+d后面继续加“,”。


  总之,问号表达式给大家简单的介绍了一些,希望大家多看看。


  

抱歉!评论已关闭.