有一种if语句,当被判别的表达式的值为“真”或“假”时,都执行一个赋值语句且向同一个变量赋值。如:
if(a>b)
max=a;
else
max=b;
当a>b时将a的值赋值给max,当a<=b时将b的值赋给max,可以看到无论a>b是否满足,都是给同一个变量赋值。c提供的条件运算符和条件表达式来处理这类问题。可以把上面的if语句改写为
max=(a>b)?a:b;
(a>b)?a:b;是一个“条件表达式”。?是条件运算符
如果(a>b)为真,则表达式的值等于a,否则取值为b。条件运算符由两个符号(?和:)组成,必须一起使用。要求三个对象,成为三目运算符,它是c语言唯一的一个三目运算符。
题目:
假定产品的单价是3.5,提供3个级别的折扣:数量超过50,折扣为15%;数量超过20,折扣为10%;数量超过10,折扣为5%
注意15、16、17行的代码风格,个人感觉15、16好些,能清晰的看到语法结构。
1794

被折叠的 条评论
为什么被折叠?



