i am trying to sort an array, using pointers and also without using index variables
void sort(int *a,int n)
{
int *temp;
*temp=0;
int *b=a;
for(;a<a+n-1;a+=1)
{
for(b=a+1;b<b+n;b+=1)
{
if(*a>*b)
{
*temp=*a;
*a=*b;
*b=*temp;
}
}
}
}
the equivalent version of the above program without using pointers is
void sort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
i am doing an exercise question, and i just started learning the pointers by myself. i believe i am doing it right as i am trying to avoid the usage of index variables too. i am receiving an error segmentation fault : 11 . what am i missing here?
is the program wrong in someway? or the idea itself is wrong? feedback appreciated.
int a[10]; a[1];: herea[1]already uses a pointer. (I will not further elborate, just do some research on your own)