【发布时间】:2014-10-09 04:55:01
【问题描述】:
显然,程序试图做的是使用辅助变量t 交换存储在names[3] 和names[40] 中的地址。但我收到错误
#include<conio.h>
#include<stdio.h>
int main() {
char names[5][20] = {"rrr","kkkk","hddj","dhfjdj","jjdnfjd"};
int i;
char *t;
t = names[3];
names[3] = names[4];
names[4] = t;
for (i = 0; i <= 4; i++) {
printf("%s\n", names[i]);
}
return 0;
}
【问题讨论】:
-
你认为你可以像这样分配字符串吗?
-
这是不可能的。数组不是指针,也不能分配给数组。您需要将内容复制到适当大小的临时缓冲区。 (顺便说一句,如果你事先考虑过这个问题,你会不会意识到它没有意义。)
标签: c arrays pointers multidimensional-array