我有一个看起来像这样的方法:C++?运营商,运营商继续在for循环
bool Perfect(int num) {
int sum = 0;
for (int i = 1; i < num; i++)
{
num%i == 0 ? sum += i : continue;
}
return sum == num ? true : false;
}
我想在这里结合?运营商,运营商继续...
所以逻辑上,如果这里的说法是错误的在这条线:
num%i == 0 ? sum += i : continue;
我只跳过迭代或者什么也不做?
如果我不喜欢这样的编译器会报告错误,如:
expected an expression
而如果是这样的:
num%i == 0 ? sum += i
它说:
Expected a ':'
有什么继续使用的方式?运营商或只是简单地避免假情况?
不要在这种情况下强制使用三元组;它没有任何意义。只需使用if/else。另外,'return sum == num? true:false;'应该写成'return sum == num'; – Carcigenicate
@Carcigenicate我只是探索C++的可能性,这就是为什么我很好奇,如果有一种解决方案,使用三元运算符与这些种情况:) – User987
Ternarys是用来有条件地返回一个值。 “继续”不会评估任何有用的东西。实验是好的,但是认识正确工作的正确工具也是如此。 – Carcigenicate