" ans += (a[i] - ans * r > 0); "是什么意思,其中 ans,r 是整数,a[i] 是数组元素?
What does it mean by " ans += (a[i] - ans * r > 0); ", where ans,r are integers and a[i] is an array element?
我无法理解以下代码的第二行:
for (int i = n - 1; i >= 0; i--)
{
ans += (a[i] - ans * r > 0);
printf("%dn", ans);
}
如有疑问,请简化。
由于操作员优先级,该行
ans += (a[i] - ans * r > 0);
相当于:
ans += ((a[i] - ans * r) > 0);
要使其更具可读性,请使用:
bool temp1 = ((a[i] - ans * r) > 0);
ans += temp1;
当在诸如ans += temp1
之类的术语中使用时,如果值true
,则bool
被转换/提升为1
,如果值false
,则转换为0
。
进一步的简化是:
bool temp1 = ((a[i] - ans * r) > 0);
int temp2 = (temp1? 1 : 0);
ans += temp2;
最后,如果ans
(a[i] - ans * r) > 0
,会增加1
.否则,其值保持不变。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- 错误:无效的预处理指令 #i 的意思是 #if?
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- Trie*& 和 Trie** 的意思是 Same?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- 错误:无法解析对重载函数的引用;你的意思是调用它吗?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- " ans += (a[i] - ans * r > 0); "是什么意思,其中 ans,r 是整数,a[i] 是数组元素?