struct commdity_comm
{
int num;
char name[20];
double price;
double count;
double total;
}comm[50];
这个结构假如现在有3条记录,要以num进行排序,我用冒泡排序方法怎么都显示不对呢,代码也没有报错,有高手能指点下这个思路怎样的么,我自己的思路就是比如comm[0].num>comm[1].num就把comm[1].num这条记录的所有元素值对应的给到comm[0].num这条去,把comm[0].num的值给过来,但是输出结果不对
li[0].no=comm[j].num;
comm[j].num=comm[i].num;
comm[i].num=li[0].no;
strcpy(li[0].a,comm[j].name);
strcpy(comm[j].name,comm[i].name);
strcpy(comm[i].name,li[0].a);
非常谢谢,我再问下,如果是按这种方式能不能行通的
请问,li是什么变量?你可以直接定义一个中间变量
而且第二个comm[j].num=comm[i].num;写的不对
如下写法
commdity_comm temp;
temp.num=comm[j].num;
comm[j].num=comm[j+1].num;
comm[j+1].num=temp.num;
接下来的所有变量都要交换
这个定义要报错呢