C语言用一个空格代替连续多个空格,然后输出。求解!

#include

int main()
{
int i = 0;

char from[100], char to[] = "copy";
while (from[i] = to[i] != '\0') 
    ++i;
return 0;
// 得不到正确结果,哪里出错了?谢谢

}

运算符优先级:=与!=

建议给此句:while (from[i] = to[i] != '\0') 按想要的顺序加上 ()

!=的运算优先级高于=
改为
while ((from[i] = to[i]) != '\0')