Чтобы прочитать что-то в переменную или указатель, вы должны выделить место.
char *new_num=" ";
Здесь он записывает строку в текстовом сегменте и дает этот указатель на new_num.
Я сделал небольшие изменения в вашем коде
#include <stdio.h>
#include <stdlib.h>
#define SIZE 50
int main()
{
char *file_name;
char new_num[SIZE];
FILE *ifp=NULL;
int i, j, n, m;
file_name = "input.txt";
ifp =fopen(file_name,"r");
if (ifp!=NULL)
{
fscanf(ifp,"%d %d",&n,&m );
printf("Data from the file: %d, %d \n",n,m);
}
for (i=0 ; i< n ;i++){
for(j=0;j<m;j++){
fscanf(ifp,"%s",new_num);
printf("new num : %s\n ",new_num);
}
}
fclose(ifp);
return 0;
}
Путем интерпретации имени new_num как целого числа я советую вам использовать тип данных apt вместо% s
Для этого вам нужно изменить тип данных new_num
type new_num[SIZE];
и внутри fscanf
используйте идентификатор apt.