我对此有疑问 lines[k] = lines[k+1];
这是我尝试做的事情:
char lines[MAXLINES][BUFSIZ];
for(k = 0;k < i;k++){
char * tmp = lines[k];
lines[k] = lines[k+1];
lines[k+1] = tmp;
change = 1;
}
谁能帮我这个?我只想在数组中将lines [k]与lines [k + 1]交换...
您无法分配给数组,需要 strcpy()
char lines[MAXLINES][BUFSIZ]
for (int k = 0 ; k < i ; ++k)
{
char tmp[BUFSIZ];
strcpy(tmp, lines[k]);
strcpy(lines[k], lines[k + 1]);
strcpy(lines[k + 1], tmp);
change = 1;
}
因为lines[k]
是一个数组,你不能分配给它,但你可以的内容复制lines[k]
到一个临时缓冲区,然后复制内容lines[1 + k]
到lines[k]
最后复制的内容tmp
来lines[1 + k]
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句