下面函数中while循环的条件
void strcpy(char *s, char *t)
{
int i;
i = 0;
while ((s[i] = t[i]) != '\0')
i++;
}
此处的条件 (s[i] = t[i]) != '\0'
将生成 0
或 1
它将赋值语句与空字符进行比较吗?
或者
2个数组的第i个元素的值为空字符?
最佳答案
赋值表达式有一个值,是赋值后的左操作数。
在此示例中,条件是测试 s[i] != '\0'
(在执行 s[i] = t[i]
之后)。
关于c - 分配值并在同一行进行比较它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28037085/