我的结构定义为:
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));
}
它不起作用,因为我认为它...任何想法为什么?
答案 0 :(得分:1)
您的解决方案应该有效,但更简单:
void swap_cells(subscriber dbase[],int index1,int index2)
{
subscriber temp;
temp = dbase[index1];
dbase[index1] = dbase[index2];
dbase[index2] = temp;
}