Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.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
Arrays 在C上排序数组顺序_Arrays_C_Sorting_Ascii - Fatal编程技术网

Arrays 在C上排序数组顺序

Arrays 在C上排序数组顺序,arrays,c,sorting,ascii,Arrays,C,Sorting,Ascii,我试图在C上按顺序对这个数组进行排序,但我做得不对。我做错了什么?排序的数组错误,应按以下顺序显示: 0: boy 1: is 2: right 3: sitting 4: The 5: there. 谢谢大家! int n = sizeof(arr) / sizeof(arr[0]); int i; // Print the given array printf("Given array is\n");

我试图在C上按顺序对这个数组进行排序,但我做得不对。我做错了什么?排序的数组错误,应按以下顺序显示:

0: boy 
1: is 
2: right 
3: sitting 
4: The 
5: there.
 
谢谢大家!

    int n = sizeof(arr) / sizeof(arr[0]); 
    int i; 
  
    // Print the given array 
    printf("Given array is\n"); 
    for (i = 0; i < n; i++) 
        printf("%d: %s \n", i, arr[i]); 
  
    // Sort the array 
    sort(arr, n); 
  
    // Print the sorted array 
    printf("\nSorted array is\n"); 
    for (i = 0; i < n; i++) 
        printf("%d: %s \n", i, arr[i]); 
  
    return 0; 
} 


Output:

   
Sorted array is
The 
boy 
is 
right 
sitting 
there. 
int n=sizeof(arr)/sizeof(arr[0]);
int i;
//打印给定的数组
printf(“给定数组是\n”);
对于(i=0;i
我做错了什么

没什么。您的代码运行良好

一个好的调试方法是打印每个单词的第一个字符的值。这将向您显示“T”、“b”等的值,您将看到A-Z的值低于A-Z

从另一个角度来看,如果你想让单词按照问题顶部给出的顺序打印,你必须对它们进行排序,使它们不符合ASCII顺序。您需要想出一个
compare
函数,该函数认为“T”和“T”是相同的

我做错了什么

没什么。您的代码运行良好

一个好的调试方法是打印每个单词的第一个字符的值。这将向您显示“T”、“b”等的值,您将看到A-Z的值低于A-Z


从另一个角度来看,如果你想让单词按照问题顶部给出的顺序打印,你必须对它们进行排序,使它们不符合ASCII顺序。你需要想出一个
compare
函数,它认为“T”和“T”是相同的。

在区分大小写的搜索中
T
b
之前排序。如果你想进行不区分大小写的比较,请使用
stricmp()
。看起来你希望大小写可以互换(不区分大小写的搜索)Windows的功能是stricmp(),Unix的功能是stricmp(),很高兴知道
sort
从哪里来?在区分大小写的搜索中
T
b
之前排序。如果需要区分大小写的比较,请使用
stricmp()
。看起来您希望大小写可以互换(不区分大小写的搜索)Windows的功能是stricmp(),而Unix的功能是strcasecmp(),很高兴知道谢谢
sort
从哪里来?我知道“没有”是该问题的有效答案,但他确实给出了预期产出,因此如果你能提供如何实现预期产出的建议,这将有助于未来的人们研究这个问题。@JerryJeremiah我添加了一段确实如此的内容,但OP的大问题只是他/她不理解产出为何发生。知道“t”与“t”不同应该会有很大帮助。我理解“什么都没有”是该问题的有效答案,但他确实给出了预期产出,因此如果你能提供如何实现预期产出的建议,这将有助于未来的人们研究这个问题。@JerryJeremiah我添加了一段确实如此的内容,但OP的大问题只是他/她不理解产出为何发生。知道“t”与“t”不同应该会有很大帮助。