我是结构和指针的新手。尝试学习它们。尝试使用struct和指针进行简单的排序,但是存在一些问题。有人可以帮助我理解它们吗?
#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("Sort\n ");
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);
该程序运行正常。只需为新行添加“ \ n”,使其看起来更好。
here中的站点为您很好地介绍了结构和指针。
关于c - 使用结构和指针排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26935357/