在C中需要简单的帮助

莱万

谁能告诉我这段代码是如何工作的?

int Calc(int *arr, int m)

int result;
for (result &= 0; m; (arr[--m] & (0x1 << 0x1F)) ? result += arr[m]: Void());
return result;

我不明白for循环:/

尤里·亚基姆(Yuriy Yakym)

第1部分

首先result &= 0用于通过按位运算设置0result变量AND逐位为0将永远返回0。

您可以这样简单地编写它: result = 0

更好的方法(更好)是:result ^= result(按位XOR


第2部分

m大于(或小于)0时,此循环将迭代因为ifm将返回表达式truem != 0

这样做是非常安全的方法m > 0

您也可以使用此表达式,这并不能使程序达到最佳状态,但是对于另一个程序员来说,理解代码会更简洁!!m:(将m变量投射到bool),它等于m != 0;


第三部分

在此部分中,使用三元运算符(logical_expression ? expression_1 : expression_2)。如果logical_expressiontrueexpression_1则将被执行,expression_2否则将被执行。

因此,在您的代码中,如果此表达式(arr[--m] & (0x1 << 0x1F))返回,true则将我们添加arr[m]result变量中。在另一种情况下什么也不做。

同样,m变量在三元逻辑表达式(arr[--m])中递减

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

需要帮助以C ++中的简单代码

来自分类Dev

在随机答案的简单测验中需要帮助

来自分类Dev

需要非常简单的C ++ for循环的帮助

来自分类Dev

在简单的PHP中需要一些帮助

来自分类Dev

需要帮助在摆动中制作简单的 MotionBlur/Trail 效果

来自分类Dev

需要简单的SQL查询帮助

来自分类Dev

简单的MySQL登录-需要帮助

来自分类Dev

C#中需要的REGEX帮助

来自分类Dev

需要帮助检查C中的链表

来自分类Dev

在GUI中需要帮助

来自分类Dev

在VBA中需要帮助

来自分类Dev

在 $_GET 中需要帮助

来自分类Dev

getline c ++需要帮助

来自分类Dev

PHP简单表单验证-需要帮助

来自分类Dev

需要简单的HTML页面帮助/指导

来自分类Dev

需要简单的preg_match帮助

来自分类Dev

需要帮助以获取简单的 bash 脚本

来自分类Dev

需要帮助,简单的工作表代码

来自分类Dev

需要帮助来清除简单jQuery函数中的编译器错误

来自分类Dev

c ++和gtest,需要帮助来理解为什么看似简单的测试失败

来自分类Dev

需要帮助以从C#中的字符串获取IP

来自分类Dev

需要帮助在C中创建动态char数组

来自分类Dev

需要帮助来解析.csv文件C中的数据

来自分类Dev

需要帮助来了解我程序中的构造函数(C ++)

来自分类Dev

需要帮助来解析.csv文件C中的数据

来自分类Dev

使用C#中的列表获取,设置...需要帮助

来自分类Dev

需要帮助来理解使用C中的struct的错误

来自分类Dev

在ASP.Net C#登录页面中需要帮助

来自分类Dev

在使用C#语言的人脸检测中需要帮助