关于C语言一些代码看不懂,求大神解释,尽量每一句都解释下,都看不懂,重酬

void pric(SqList *L) //按药品单价排序

{

int
i=0,j;

char
num1[10],name1[30];

float
price1,sale1;

int
count1;

for(i=0;i<L->type;i++)

for(j=i+1;j<L->type;j++)

if(L->r[j].price>L->r[i].price)

{

strcpy(num1,L->r[j].num);

strcpy(L->r[j].num,L->r[i].num);

strcpy(L->r[i].num,num1);

strcpy(name1,L->r[j].name);

strcpy(L->r[j].name,L->r[i].name);

strcpy(L->r[i].name,name1);

price1=L->r[j].price;

L->r[j].price=L->r[i].price;

L->r[i].price=price1;

count1=L->r[j].count;

L->r[j].count=L->r[i].count;

L->r[i].count=count1;

sale1=L->r[j].sale;

L->r[j].sale=L->r[i].sale;

L->r[i].sale=sale1;

}

这个就是一个冒泡排序。
先判断价格,然后要排序的时候,把整个结构体的数值交换就好了!
不懂再问追问

它前面那六句STR开头的那些语句都是为了什么啊- - 完全看不懂啊,这里把后面的的字符串拷到前面到底有什么意义啊- -

追答

那个是字符串复制函数,把第二个参数的内容复制给第一个参数,这么做就是实现排序过程中的数据交换,SqlList是一个结构体,这里是通过这种方式把结构体里面的每一个数据进行交换。对于一些不知道用途的函数可以百度,直接输入函数名就可以了,常见的函数在百度百科里面也有,以后你遇到了更加复杂的问题可以google,相对百度还是更加适合搜索专业问题。

温馨提示:答案为网友推荐,仅供参考
相似回答