0
我是结构体和指针的新手。尝试学习它们。用结构和指针做一个简单的排序函数,但有一些问题。有人能帮我理解他们吗?使用结构体和指针进行排序
#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]
错字? int * result_;' - >'int * result_4;' – BLUEPIXY 2014-11-14 17:19:42
这个错误在C编译器中看起来很奇怪,但是如果你将这个(C)代码编译为C++的话,这将是有意义的。 – 2014-11-14 17:20:39
修复错误@BLUEPIXY注意到,并编译为C,一切似乎都很好:https://ideone.com/yBWcKt – 2014-11-14 17:22:15