下面函数中while循环的条件

void strcpy(char *s, char *t)
    {
    int i;
    i = 0;
    while ((s[i] = t[i]) != '\0')
    i++;
    }

这里的条件将产生(s[i] = t[i]) != '\0'0
它是否将赋值语句与空字符进行比较?

两个数组的第i个元素的值是否为空字符?

最佳答案

赋值表达式有一个值,它是赋值后的左操作数。
在本例中,条件是测试s[i] != '\0'(在执行s[i] = t[i]之后)。

10-07 13:22