bool stop = false;
int f1 = 1;
int f2 = 2;
int f3 = 0;
int sum = 2;
while (!stop)
{
f3 = f1 + f2;
sum += f3 % 2 == 0 ? f3 : 0; //THIS ONE
stop = f3 > 4000000 ? true : false;//AND THIS ONE.
f1 = f2;
f2 = f3;
}
Run Code Online (Sandbox Code Playgroud)
什么是条件运算符?这是我第一次见到这样的东西.
cdi*_*ins 14
这条线:
sum += f3 % 2 == 0 ? f3 : 0; //THIS ONE
Run Code Online (Sandbox Code Playgroud)
是相同的:
if (f3 % 2 == 0)
sum += f3;
else
sum += 0;
Run Code Online (Sandbox Code Playgroud)
当然可以改写为
if (f3 % 2 == 0) sum += f3;
Run Code Online (Sandbox Code Playgroud)
和线
stop = f3 > 4000000 ? true : false;//AND THIS ONE.
Run Code Online (Sandbox Code Playgroud)
是相同的
if (f3 > 4000000)
stop = true;
else
stop = false;
Run Code Online (Sandbox Code Playgroud)
或者更好的是:
stop = f3 > 4000000;
Run Code Online (Sandbox Code Playgroud)
表达方式
x = c ? a : b;
Run Code Online (Sandbox Code Playgroud)
相当于
if (c)
x = a;
else
x = b;
Run Code Online (Sandbox Code Playgroud)
还有,声明
stop = f3 > 4000000 ? true : false;
Run Code Online (Sandbox Code Playgroud)
是完全冗余的,可以简化为
stop = (f3 > 4000000);
Run Code Online (Sandbox Code Playgroud)
(为了清晰起见,增加了Paretheses.)
| 归档时间: |
|
| 查看次数: |
322 次 |
| 最近记录: |