十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
// 你改变的只是子程序里的局部变量,所以你的主函数里是得不到结果的
目前创新互联公司已为成百上千家的企业提供了网站建设、域名、雅安服务器托管、网站托管运营、企业网站设计、府谷网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
#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;
}
main函数中下面这一段
void average1(float score[NUM_std][NUM_course]);
void average2(float score[NUM_std][NUM_course]);
void max(float score[NUM_std][NUM_course]);
void fangcha(float score[][NUM_course]);
调用函数时,应该将参数实例化
average1(score);
average2(score);
max(score);
fangcha(score);
其实将自定义函数参数里的float去掉就行。
这两个函数里都有一个 死循环。
i从1开始取值 ,则i=2*i-1恒成立
可以的,前提是,在使用一个函数之前必须先对他进行声明:
//void B();声明B函数的存在。
void A()
{
B();//非法,程序执行到此时并不知道B函数的存在。
}
void B()
{
}
或者
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
扩展资料
从函数定义的角度看,函数可分为库函数和用户定义函数两种。
(1)库函数
由C系统提供,用户无须定义, 也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面各章的例题中反复用到printf 、 scanf 、 getchar 、putchar、gets、puts、strcat等函数均属此类。
(2)用户定义函数
由用户按需要写的函数。对于用户自定义函数, 不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。