c语言中,条件运算符是怎样的法则?

来源:百度知道 编辑:UC知道 时间:2024/05/07 11:05:18
c语言中,条件运算符是怎样的法则?
哪位大虾能否举个例子?

c语言中,条件运算符的法则:
  由高到低是:!(非),&&(与),||(或)
  &&左边为0则不看右边运算,||左边为1不看右边!
  例:
  main()
  {
  int a=1,b=2,c=3,d;
  d=!b>a&&c||c>2
  printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d);
  }
  运行结果:a=1
  b=0
  c=3
  d=1
  程序执行说明:先执行!b>a即0>a,结果为0(b=0)
  再执行0&&c结果为0,执行c>2结果为1
  0||1结果为1
  因为执行顺序为右结合,所以将整个表达式的结果给 d为1
  }
  
  条件运算符:
  (表达式1)?(表达式2):(表达式3)
  运算规划:如果表达式1为真,返回表达式2的结果,否则返回表达式3的结果
  例如:
  A=1,B=2
  (A>B)?A:B
  返回值为2
  注意表达式是右结合的.
  例:
  A=1,B=2,C=3
  (A>B)?A:B?C:B
  相当于(A>B)?A:(B?C:B)
  返回值为3

c语言中,条件运算符的法则:
由高到低是:!(非),&&(与),||(或)
&&左边为0则不看右边运算,||左边为1不看右边!
例:
main()
{
int a=1,b=2,c=3,d;
d=!b>a&&c||c>2
printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d);
}
运行结果:a=1
b=0
c=3