我有一个结构定义为:
typedef struct
{
char first_name[11];
char last_name[21];
char city_code[3];
char zip_code[5];
char area_code[4];
char phone_num[8];
} subscriber;
我根据控制台输入创建这些结构的数组:
subscriber database[num_of_subscribers]
我编写了一个函数,该函数应该交换数组中的两个元素:
void swap_cells(subscriber dbase[],int index1,int index2)
{
subscriber temp;
memcpy(&temp,&dbase[index1],sizeof(temp));
memcpy(&dbase[index1],&dbase[index2],sizeof(temp));
memcpy(&dbase[index2],&temp,sizeof(temp));
}
而且它不像我想象的那样起作用...为什么有任何想法?
最佳答案
您的解决方案应该有效,但更简单:
void swap_cells(subscriber dbase[],int index1,int index2)
{
subscriber temp;
temp = dbase[index1];
dbase[index1] = dbase[index2];
dbase[index2] = temp;
}
关于c - 复制结构数组元素不起作用? C,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22723677/