【发布时间】:2012-08-20 08:38:43
【问题描述】:
我最近偶然发现了这段代码:
void strcat( char* dest, char* src )
{
while (*dest) dest++;
while (*dest++ = *src++);
}
看起来*dest++ = *src++ 操作被用作while 循环的条件。这个赋值操作如何转换为布尔值?我很难理解它。
此外,相同的语法在 C++ 中是否有效?
【问题讨论】:
-
我想看到一个答案,涵盖如何/何时应用
++运算符(或者如何为了讨论条件/赋值的东西而忽略它),只是快速传递,因为它有点神秘。另外,不要忘记这里的问题是 C++ 是否有相同的规则。
标签: c++ c conditional-statements