很明显,程序尝试做的是使用辅助变量names[3]
交换names[40]
和t
中存储的地址。但是我收到了错误
#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;
}
答案 0 :(得分:0)
试试这个:
int main()
{
char names[5][20]={"rrr","kkkk","hddj","dhfjdj","jjdnfjd"};
int i;
char *t=malloc(20*sizeof(char));
strcpy(t,names[3]);
strcpy(names[3],names[4]);
strcpy(names[4],t);
for(i=0;i<=4;i++)
{
printf("%s\n",names[i]);
}
return 0;
}
答案 1 :(得分:0)
你可以尝试其中任何一个......
#include<stdio.h>
#include<string.h>
int main()
{
char names[5][20]={"rrr","kkkk","hddj","dhfjdj","jjdnfjd"};
int i;
char t[20];//or char *t=malloc(20*sizeof(char));
strcpy(t,names[3]);
strcpy(names[3],names[4]);
strcpy(names[4],t);
for(i=0;i<=4;i++)
{
printf("%s\n",names[i]);
}
return 0;
}