C - 使用结构和指针排序



我是结构和指针的新手。试图学习它们。尝试了带有结构和指针的简单排序功能,但遇到了一些问题。有人能帮我理解它们吗?

#include<stdio.h>
#include <stdlib.h>
int*
    sorting (int* arg)
    {
    int temp=0,j,i;
        for(i=1;i<5;i++)
        {
            for(j=0;j<5-i;j++)
            {
                if(arg[j] >arg[j+1])
                {
                    temp=arg[j];
                    arg[j]=arg[j+1];
                    arg[j+1]=temp;
                }
            }
        }
    return arg;
    }
int main(){
    int i;
    int n =5;
    int *result_;
    int *sorting_1_arg = malloc(n * sizeof *sorting_1_arg);
    printf("Sortn "); 
    printf("Enter 5 elements to sort: ");       
    for (i =0; i <n; i++){
    scanf("%d", &sorting_1_arg[i]);
    }
    result_4 = sorting(sorting_1_arg);
    printf ("Sorted List recieved from Server ");
    for (i =0; i <n; i++){
    printf("%d",sorting_1_arg[i]);
    }
  return 0;
   }

当我运行此代码时:

In function 'int main()':
[Error] invalid conversion from 'void*' to 'int*' [-fpermissive]

这些程序对我来说似乎很好。除了有一个未声明的变量第 39 行:

result_4 = sorting(sorting_1_arg);

将其更正为

result_ = sorting(sorting_1_arg);

程序运行良好。只需为新行添加一个""即可使其看起来更好。

这里的网站为您提供了结构和指针的良好介绍。

最新更新