returning pointer from a function.. whats the problem with code

#include<stdio.h>
int a[10];
int * sqr_mat(int mat[], int m, int n)
{
int i,j;
for(i=0;i<m;++i)
{for(j=0;j<n;++j)
a[i+j] =
(mat[i]+j)* *(mat[i]+j);
}
return a;

}
/*int sum_mat(int *mat[], int m, int n)
{



        }

float square_root(float num)
*/

int main()
{
        int *a[10],*b,i,j,r,c;
        printf("Enter the order of matrix");
        scanf("%d%d",&r,&c);
        printf("Enter the elements of matrix");
        for(i=0;i<r;++i)
        {for(j=0;j<c;++j)
                scanf("%d",a[i]+j);
        }
        b=sqr_mat(a,r,c);

        printf("Square of elemnts of given matrix\n");
        for(i=0;i<r;++i)
        {for(j=0;j<c;++j)
                printf("%d",*(b+i+j));
                printf("\n");
        }

}

there are several problems. the most obvious one (just reading, not trying to compile, even to run) is that in your sqr_mat function, you use the global a array, although, in your main function you use a local one, that isn’t even declared with the same type. moreover, your main function does not return an integer, but it should.

r_mat function, you use the global a array, although, in your main function you use a local one, that isn’t even
That’s all about this problem February 2017 Printable Calendar
Raj
march 2017 printable calendar
onethree declared with the same type factors more than mod. Because if the answer contains mod then answer is zero anyways.