Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想按字母顺序对结构进行排序,但如果我进行排序,我的程序不会';我不能给出任何结果 #包括 #包括 #包括 类型定义结构kezdo { 国际货币基金组织; 查贝图; }凯兹多; int main(int argc,char*argv[]) { int j; int i; int db=0; int伏=0; char-sajt[22]; 文件*f=fopen(argv[1],“r”); 如果(f==NULL) { fprintf(标准“Hiba a fajl megnyitasaban!”); } int k=20; kezdot[k]; KEZDO tmp; 对于(i=0;i_C - Fatal编程技术网

我想按字母顺序对结构进行排序,但如果我进行排序,我的程序不会';我不能给出任何结果 #包括 #包括 #包括 类型定义结构kezdo { 国际货币基金组织; 查贝图; }凯兹多; int main(int argc,char*argv[]) { int j; int i; int db=0; int伏=0; char-sajt[22]; 文件*f=fopen(argv[1],“r”); 如果(f==NULL) { fprintf(标准“Hiba a fajl megnyitasaban!”); } int k=20; kezdot[k]; KEZDO tmp; 对于(i=0;i

我想按字母顺序对结构进行排序,但如果我进行排序,我的程序不会';我不能给出任何结果 #包括 #包括 #包括 类型定义结构kezdo { 国际货币基金组织; 查贝图; }凯兹多; int main(int argc,char*argv[]) { int j; int i; int db=0; int伏=0; char-sajt[22]; 文件*f=fopen(argv[1],“r”); 如果(f==NULL) { fprintf(标准“Hiba a fajl megnyitasaban!”); } int k=20; kezdot[k]; KEZDO tmp; 对于(i=0;i,c,C,,正如我在代码中看到的,您希望在char betu上排序。排序结构的一种方法是通过qsort,但这需要下面说明的比较函数: int compare(const void *void_a, const void *void_b) { const KEZDO *a = void_a; const KEZDO *b = void_b; return (a->betu) < (b->betu); } //Perform sort

,正如我在代码中看到的,您希望在
char betu
上排序。排序结构的一种方法是通过
qsort
,但这需要下面说明的比较函数:

  int compare(const void *void_a, const void *void_b)
  {
     const KEZDO *a = void_a;    
     const KEZDO *b = void_b;

     return (a->betu) < (b->betu);
  }
  //Perform sort like this;
 qsort((void *) &t, db, sizeof(KEZDO) , compare );   
int比较(常量无效*无效a,常量无效*无效b)
{
常数KEZDO*a=void_a;
常数KEZDO*b=void_b;
返回(a->betu)<(b->betu);
}
//像这样表演;
qsort((void*)和t、db、sizeof(KEZDO)、compare;

此外,
qsort
#include

中,首先,
t
数组中每个对象的
betu
字段没有初始化,因此
if(t[i].betu==toupper(sajt[0])
调用未定义的行为。非常感谢:D