1樓:陳舸
問題描述的不是很清楚,不過我大概猜你是想對某些結構體做排序,結構體裡有個學號的字段,要以學號為標準來排序?可以使用qsort ,隨手碼了乙份。
#include
#include
#include
typedef
struct
student
Student
;int
compare
(const
void*a
,const
void*b
)elseif(
aa->
id>bb->id)
else
}Student
*createStudent
(char
*name
,unsigned
intid
)int
main();
unsigned
intids[8
]=;Student*st
[8];for
(inti=
0;i<8;
i++)printf
("Before sorting: \n"
);for
(inti=
0;i<8;
i++)printf("
\n");qsort(st
,8,sizeof
(Student*),
compare
);printf
("After sorting: \n"
);for
(inti=
0;i<8;
i++)return0;}
C語言中的選擇排序?
郭建波 選擇排序的過程 陣列排序前 7 23 12 4 33 21 2 17 13 9 第一輪迴圈 2 23 12 4 33 21 7 17 13 9 第二輪迴圈4 12 23 33 21 7 17 13 9 第三輪迴圈7 23 33 21 12 17 13 9 第四輪迴圈9 33 21 12 17...
在C語言中,如何安全地使用void ?
Lvcs 靈活接收資料型別,可以試試使用巨集定義而不用函式 舉個例子 判斷兩個數哪個大 define MAX a,b a b a b 使用巨集定義可以靈活接收各種型別的 a b,而使用函式判斷的話就需要事先設定傳入引數的型別了。 劉燦 傳遞指標同時提供區域長度 不用0來標識字串或區域結束 以typd...
c語言中 include stdio h , 的作用是什麼,為什麼不能去掉 ?
nullptr 表示這是預處理語句,由預處理器來處理。至於為啥是 這就是語法設計的事情了,也可以設計成 include等等。C C 標準已經規定是 開頭了,編譯器都是以檢測這個符號來做判定了,所以你如果想去掉,那麼就要去改C C 的編譯器,做乙個屬於你自己的編譯器。 程式設計思維 號表示這一行後面的...