大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你的input执行之后,就判断退出了的。
石家庄网站建设公司创新互联,石家庄网站设计制作,有大型网站制作公司丰富经验。已为石家庄数千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的石家庄做网站的公司定做!
因为你的input函数的参数是TS, 是结构体,而不是结构体指针,因此,在input里面得到的结果,只是input里面局部变量的M这个结构体得到了值,并没有赋值给M1和M2,导致你那里判断M1.n M2.m的时候,直接return 0了
不谢^-^
// 你改变的只是子程序里的局部变量,所以你的主函数里是得不到结果的
#include stdio.h
#include stdlib.h
#include malloc.h
#define MAX_LENGTH_NAME 20
typedef char NOM[20];
int ** open(const char *, int *, int *);
int main(void)
{
int grille_nbl = 0, grille_nbc = 0;
int i, j;
printf("%d %d\n", grille_nbl, grille_nbc);
int ** tab = NULL;
tab = open("1.txt", grille_nbl, grille_nbc);
printf("%d %d\n", grille_nbl, grille_nbc);
for(i = 0; i = grille_nbl; i++)
{
for(j=0; j = grille_nbc; j++)
{
printf("%d ", tab[i][j]);
}
printf("\n");
}
if(tab)
{
free(tab[0]);
free(tab);
}
return EXIT_SUCCESS;
}
int ** open(const char * nom_fichier, int * grille_nbl, int * grille_nbc)
{
int i, j;
FILE * fichier = NULL;
int ** r = NULL;
fichier = fopen(nom_fichier, "rt");
if(fichier==NULL)
{
fprintf(stderr, "Erreur \n");
return NULL;
}
fscanf (fichier, "%d %d", grille_nbl, grille_nbc);
r = (int **)malloc(grille_nbl[0] * sizeof(int *));
if(r == NULL) return NULL;
r[0] = (int *)malloc(grille_nbl[0] * grille_nbc[0] * sizeof(int));
if(r[0] == NULL)
{
free(r);
return NULL;
}
for(i = 1; i grille_nbl[0]; ++i)
{
r[i] = r[i - 1] + grille_nbc[0];
}
for(i = 0; i grille_nbl[0]; ++i)
{
for(j = 0; j grille_nbc[0]; ++j)
{
r[i][j] = 0;
}
}
fclose(fichier);
return r;
}
int main(void)
{
int max(int x, int y); //加上声明
int a,b,c; //多定义了没用的数据
scanf("%d,%d",a,b);
c = max(a,b);
printf("max is %d",c);
}
int max(int x,int y) //加上返回值类型int
{
int z;
if(xy) z=x; //不要逗号
else z=y;
return z;
}