«Debug утверждение не удалось»
ошибку, когда я пытаюсь скомпилировать этот код.
Может кто-нибудь объяснить, что с ним не так? Я думаю, что я сделал что-то не так с функцией fscanf. Спасибо.
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
void input(FILE *fp, int **a,int m)
{
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
fscanf(fp, "%d\n", *(a+i)+j);
}
}
}
int main()
{
FILE*fp;
int m,n,**a,i,j;
scanf("%d",&m);
fp=fopen("abc.txt","r");
a=(int**)malloc(m*sizeof(int*));
for(i=0;i<m;i++)
*(a+i)=(int*)malloc(m*sizeof(int));
input(fp,a,m);
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",*((a+i)+j));
}
printf("\n");
}
free(a);
return 0;
}
'* ((a + i) + j)' не делает то, что, по вашему мнению, делает. Вы хотите '* (* (a + i) + j)'. – John
'* ((a + i) + j)' неверно. а также нужно 'free' each' * (a + i) ' – BLUEPIXY
Как выглядит ваш abc.txt? – Elyasin