float 只能精确到6-7位有效数字。
所以,x=100.0/1.2 //结束是x=83.333336
因为首位数字较大,它只有6位数字是能够保证正确的。即x=100.0/1.2 =83.3333
x=x+50=133.3333 //首位为1,可以有7位有效数字
要想有足够的小数位数,应该尽量使用double。
三目运算符<表达式1>?<表达式2>:<表达式3>
"?"运算符的含义是:
先求表达式1的值,
如果为真,
则执行表达式2,并返回表达式2的结果
如果表达式1的值为假,
则执行表达式3
,并返回表达式3的结果.
例:
int
a=2
int
b=(a==2?2:5)
输出b
这样的结果是b为2
eg:
int
a=1,b=2,z
z=a>b?a:(a>b?a:b)
cout<<"z:"<<z<<endl
这样输出的结果是:2
eg:
int
a=1,b=2,z
z=a>b?a:a>b?a:b//去了括号
cout<<"z:"<<z<<endl
这样的输出的结果是:2
三目运算中执行方向依次为自左向右。