所以我必须为我的大学课做一个简单的程序,其中包括一个fraction带分子和分母的结构,ints以及一个is_correct()检查两个条件的函数:分母!=0和<分母.如果其中两个是真的,那么我应该返回true,否则false.我有义务使用?:操作员.所以这是我的代码:
struct fraction {int n,d;
bool is_correct(){
d!=0?(return n<d?true:false):return false;
};
};
Run Code Online (Sandbox Code Playgroud)
我的意思是,我想我可以使用一个if条件d!=0,但我必须只使用?:,并g++给我:expected primary-expression before 'return'
如果其中两个是真的,那么我应该返回true,否则为false
这是一张非常标准的真值表,对吗?
| T | F
---+---+---
T | T | F
---+---+---
F | F | F
Run Code Online (Sandbox Code Playgroud)
我知道一个具有相同真值表的运算符:&&.
我们根本不需要三元组.我们可以简单地写:
return d != 0 && n < d;
Run Code Online (Sandbox Code Playgroud)
更简洁的解决方案如下所示:
return d && n<d;
Run Code Online (Sandbox Code Playgroud)
但我会说第一个解决方案更清楚地表达了编码人员的意图,这是一个重要的考虑因素.
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |