使用C语言打印排序数组时出错?

时间:2018-10-22 15:27:49

标签: c

我正在尝试对数组进行排序。我以升序使用选择排序,但是我不知道我的“输出”功能有什么问题,我知道在堆栈溢出时也曾问过类似的问题,但答案并没有太大帮助。 Dev C ++上的错误显示为“ [[Error]在'{'标记之前不允许在函数定义”。

#include<stdio.h>
#include<stdlib.h>

void sort(int arr[], int n)
{
    int minindex;
    int t,i,j;
    for(i=0;i<n-1;i++)
    {
        minindex=i;
        for(j=i+1; j<n; j++)
        {
        if(arr[minindex]>arr[j])
        minindex=j;
    }
    if(minindex>1)
    {
        int t=arr[minindex];
        arr[minindex]=arr[i];
        arr[i]=t;
    }
}

void output(int arr[], int n)
{
    for(int i=0; i<n; i++)
    {
        printf("%5d", arr[i]);
    }
}

int main()
{
    int arr[]={1,3,5,7,9,2,4,6,8,0};
    int*a=(int*)calloc(10,sizeof(int));
    sort(a,10);
    ouput(a,10);
    getchar(); getchar();
    return 0;
}

1 个答案:

答案 0 :(得分:0)

  1. 如果使用CodeBlocks,则可以转到“插件”->“源代码格式化程序(AStyle)”以自动格式化代码。不了解DevC ++。
  2. 数组名本身就是指向内存中第一个数组项位置的指针。无需创建int *(在您的代码中未使用)
  3. 在使用变量之前不要定义它。
  4. 要比较两个文件,请在Linux上运行差异样式程序(或在两个窗口中并排打开文件)。如果您使用的是Windows,则可以使用meld.exe。
  5. main()在您的函数之前。请参见main()之前的函数声明。被认为更好。最好将功能移到另一个文件。
  6. 单击括号“ {”应突出显示任何IDE中的相应括号。
  7. 缩进几乎总是加剧了缺失的支撑问题。

enter image description here

我很想为您提供代码,但是我相信您可以自己进行编辑。 ---输出

    0    1    2    3    4    5    6    7    8    9
Process returned 0 (0x0)   execution time : -0.000 s
Press any key to continue.