我是结构和指针的新手。试图学习它们。尝试了带有结构和指针的简单排序功能,但遇到了一些问题。有人能帮我理解它们吗?
#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);
程序运行良好。只需为新行添加一个""即可使其看起来更好。
这里的网站为您提供了结构和指针的良好介绍。