海湾合作委员会 4.4.4
我做错了什么?
char x[10];
char y[] = "Hello";
while(y != NULL)
*x++ = *y++;
非常感谢您的任何建议。
最佳答案
x++
是 x = x + 1
的缩写形式。但是这里的x
是一个数组,不能修改数组的地址。您的变量 y
也是如此。
您可以声明一个整数 i
并递增它,然后访问数组的第 i
索引,而不是尝试递增数组。
char x[10], y[5] = "Hello";
int i = 0;
while (y[i] != 0)
{
x[i] = *y[i];
i++;
}
x[i] = 0;
关于c - 需要左值作为递增操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47268189/