我有一個看起來像這樣的方法: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