【发布时间】:2021-10-22 22:52:57
【问题描述】:
我正在用 C 语言做一个时间要求严格的应用程序。我想给一个变量赋值并在一个 while 循环中同时检查它的值,以便稍后在这个循环的主体中重用它。分配给变量的值由需要一些时间运行的函数返回。我知道我可以这样做:
while (function_returning_int() <= foo) {
bar(function_returning_int());
}
问题是这涉及到调用同一个函数两次。我尝试这样做:
while ((int thing = function_returning_int()) <= foo) {
bar(thing);
}
它给了我一个错误。我不明白为什么赋值运算符 (=) 返回赋值。如何在 while 循环中为变量赋值并同时检查其值?
【问题讨论】:
-
C 代码短并不意味着执行速度更快,无论是用源代码的字符、源代码的行数还是 C 代码中的操作数来衡量短。了解源代码如何影响现代系统的性能需要深入了解编译器、处理器和其他技术。当你开发它时,更喜欢编写清晰的代码而不是带有“聪明技巧”的代码。
标签: c loops if-statement variable-assignment