C语言函数什么意思求解每行意思

这段C语言函数什么意思?最好每行都解释下_百度知道
这段C语言函数什么意思?最好每行都解释下
intReadDat(void){FILE*inti,j;if((fp=fopen(&IN.DAT&,&r&))==NULL)return1;/**************************************/for(i=0;i&100;i++){for(j=0;j&10;j++)fscanf(fp,&%d,&,&xx[...
int ReadDat(void){ FILE
i, if ((fp = fopen(&IN.DAT&, &r&)) == NULL)
return 1; /**************************************/ for (i=0; i&100; i++) {
for (j=0; j&10; j++)
fscanf(fp, &%d,&, &xx[i*10+j]);
fscanf(fp, &\n&);
if (feof(fp))
} /**************************************/ fclose(fp); return 0;}
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
distantmoon
distantmoon
采纳数:91
获赞数:242
int ReadDat(void) //函数定义{ FILE
*//定义文件结构体指针 int
i,//定义两个整型变量 if ((fp = fopen(&IN.DAT&, &r&)) == NULL)
// 以只读方式打开&in.dat&,并判断返回值是否为空(为空表示文件打开失败)
return 1; //程序返回,返回码为1 /**************************************/ for (i=0; i&100; i++) //开始一个for循环,初始值为0,结束条件为i&100,步进为1 {
for (j=0; j&10; j++)//开始一个for循环,初始值为0,结束条件为j&10,步进为1
fscanf(fp, &%d,&, &xx[i*10+j]); //从文件中读取一个整数,存入数组中
fscanf(fp, &\n&);
if (feof(fp))
//判断是否到达文件尾
//退出for循环 }//这两个 /**************************************/ fclose(fp); //关闭文件 return 0; //退出程序,返回码为1} 两个for循环的意思就是从文件中读取整数,其中文件的结构为每行10个整数,一共100行
fscanf(fp, &\n&);
if (feof(fp))
我发现整个程序如果去掉上面三行的话,结果是一样的。if(feof(of))这句是怎么起作用的啊?
if(feof(of))是用来判断是否已达到文件末尾
____珍惜现在
____珍惜现在
int ReadDat(void){ FILE
i, if ((fp = fopen(&IN.DAT&, &r&)) == NULL)
// 读入&in.dat&这个文件 如果是空 就返回1
return 1; /**************************************/ for (i=0; i&100; i++) {
for (j=0; j&10; j++)
fscanf(fp, &%d,&, &xx[i*10+j]); //这是1维数组模拟2维数组 相当于1个 100*10的数组
fscanf(fp, &\n&);
//这句话应该可以不要
if (feof(fp))
// 读完就退了
} /**************************************/ fclose(fp); return 0;}
获赞数:11
int ReadDat(void)
//这一段是定义一个函数;{
* //FILE 是变量类型,实际上是C语言定义的标准数据结构,用于文件。
//FILE *fp 是声明,声明fp是指针,用来指向FILE类型的对象。int
/定义int变量 i,j; if ((fp = fopen(&IN.DAT&, &r&)) == NULL) //fp=fopen(&IN.DAT&,&r&)打开磁盘文件//IN.DAT, 用于读,送返指针,指向FILE类型对象,//也就是把这个文件在磁盘的地址赋给fp;//如果fp=NULL,返回1;
return 1; /**************************************/ for (i=0; i&100; i++)//for循环 {
for (j=0; j&10; j++)
fscanf(fp, &%d,&, &xx[i*10+j]); //scanf用于从键盘读入数据//fscanf用于从文件读入数据,书写格式上,fscanf 多一个参数,就是 fp,其它两者一样://这一句写得有点问题,&%d,&, ,%d后面不能带,的
fscanf(fp, &\n&);//这个应该是用来读数据之后就换行,你上面的那个[i*10+j]是读数据,从文件中读取一个整数,存入数组中
if (feof(fp)) //feof()这个函数是用来判断指针是否已经到达文件尾部的。若fp已经指向文件末尾,则feof(fp)函数值为“真”,即返回非零值;否则返回0。
} /**************************************/ fclose(fp);//fclose()关闭fp指向的文件句柄,防止句柄泄露 return 0;退回程序,返回一个布尔变量}
擅长:暂未定制
向“IN.DAT”文件中写入10*100的整数,每行10个,共100行。int ReadDat(void){ FILE
定义文件指针。 int
i, if ((fp = fopen(&IN.DAT&, &r&)) == NULL)
如果为空,返回1.
return 1; /**************************************/ for (i=0; i&100; i++) {
for (j=0; j&10; j++)
fscanf(fp, &%d,&, &xx[i*10+j]);
写入10*100的整数,每行10个,共100行。
fscanf(fp, &\n&);
if (feof(fp))
} /**************************************/ fclose(fp);
关闭文件。 return 0;}
其他1条回答
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。c语言常用系统函数都有哪些?19人已关注
放着这个题让我来!!!这不就是我们C语言题库上的吗!!!!!!我就直接复制过来了!(希望C语言老师知道了不要打我)一、数学函数调用数学函数时,要求在源文件中包下以下命令行:#include &math.h&函数原型说明功能返回值说明int abs( int x)求整数x的绝对值计算结果&double fabs(double x)求双精度实数x的绝对值计算结果&double acos(double x)计算cos-1(x)的值计算结果x在-1~1范围内double asin(double x)计算sin-1(x)的值计算结果x在-1~1范围内double atan(double x)计算tan-1(x)的值计算结果&double atan2(double x)计算tan-1(x/y)的值计算结果&double cos(double x)计算cos(x)的值计算结果x的单位为弧度double cosh(double x)计算双曲余弦cosh(x)的值计算结果&double exp(double x)求ex的值计算结果&double fabs(double x)求双精度实数x的绝对值计算结果&double floor(double x)求不大于双精度实数x的最大整数&&double fmod(double x,double y)求x/y整除后的双精度余数&&double frexp(double val,int *exp)把双精度val分解尾数和以2为底的指数n,即val=x*2n,n存放在exp所指的变量中返回位数x0.5≤x&1&double log(double x)求㏑x计算结果x&0double log10(double x)求log10x计算结果x&0double modf(double val,double *ip)把双精度val分解成整数部分和小数部分,整数部分存放在ip所指的变量中返回小数部分&double pow(double x,double y)计算xy的值计算结果&double sin(double x)计算sin(x)的值计算结果x的单位为弧度double sinh(double x)计算x的双曲正弦函数sinh(x)的值计算结果&double sqrt(double x)计算x的开方计算结果x≥0double tan(double x)计算tan(x)计算结果&double tanh(double x)计算x的双曲正切函数tanh(x)的值计算结果&二、字符函数调用字符函数时,要求在源文件中包下以下命令行:#include &ctype.h&函数原型说明功能返回值int isalnum(int ch)检查ch是否为字母或数字是,返回1;否则返回0int isalpha(int ch)检查ch是否为字母是,返回1;否则返回0int iscntrl(int ch)检查ch是否为控制字符是,返回1;否则返回0int isdigit(int ch)检查ch是否为数字是,返回1;否则返回0int isgraph(int ch)检查ch是否为ASCII码值在ox21到ox7e的可打印字符(即不包含空格字符)是,返回1;否则返回0int islower(int ch)检查ch是否为小写字母是,返回1;否则返回0int isprint(int ch)检查ch是否为包含空格符在内的可打印字符是,返回1;否则返回0int ispunct(int ch)检查ch是否为除了空格、字母、数字之外的可打印字符是,返回1;否则返回0int isspace(int ch)检查ch是否为空格、制表或换行符是,返回1;否则返回0int isupper(int ch)检查ch是否为大写字母是,返回1;否则返回0int isxdigit(int ch)检查ch是否为16进制数是,返回1;否则返回0int tolower(int ch)把ch中的字母转换成小写字母返回对应的小写字母int toupper(int ch)把ch中的字母转换成大写字母返回对应的大写字母三、字符串函数调用字符函数时,要求在源文件中包下以下命令行:#include &string.h&函数原型说明功能返回值char *strcat(char *s1,char *s2)把字符串s2接到s1后面s1所指地址char *strchr(char *s,int ch)在s所指字符串中,找出第一次出现字符ch的位置返回找到的字符的地址,找不到返回NULLint strcmp(char *s1,char *s2)对s1和s2所指字符串进行比较s1&s2,返回负数;s1= =s2,返回0;s1&s2,返回正数char *strcpy(char *s1,char *s2)把s2指向的串复制到s1指向的空间s1&所指地址unsigned strlen(char *s)求字符串s的长度返回串中字符(不计最后的'\0')个数char *strstr(char *s1,char *s2)在s1所指字符串中,找出字符串s2第一次出现的位置返回找到的字符串的地址,找不到返回NULL四、输入输出函数调用字符函数时,要求在源文件中包下以下命令行:#include &stdio.h&void clearer(FILE *fp)清除与文件指针fp有关的所有出错信息无int fclose(FILE *fp)关闭fp所指的文件,释放文件缓冲区出错返回非0,否则返回0int feof (FILE *fp)检查文件是否结束遇文件结束返回非0,否则返回0int fgetc (FILE *fp)从fp所指的文件中取得下一个字符出错返回EOF,否则返回所读字符char *fgets(char *buf,int n, FILE *fp)从fp所指的文件中读取一个长度为n-1的字符串,将其存入buf所指存储区返回buf所指地址,若遇文件结束或出错返回NULLFILE *fopen(char *filename,char *mode)以mode指定的方式打开名为filename的文件成功,返回文件指针(文件信息区的起始地址),否则返回NULLint fprintf(FILE *fp, char *format, args,…)把args,…的值以format指定的格式输出到fp指定的文件中实际输出的字符数int fputc(char ch, FILE *fp)把ch中字符输出到fp指定的文件中成功返回该字符,否则返回EOFint fputs(char *str, FILE *fp)把str所指字符串输出到fp所指文件成功返回非负整数,否则返回-1(EOF)int fread(char *pt,unsigned size,unsigned n, FILE *fp)从fp所指文件中读取长度size为n个数据项存到pt所指文件读取的数据项个数int fscanf (FILE *fp, char *format,args,…)从fp所指的文件中按format指定的格式把输入数据存入到args,…所指的内存中已输入的数据个数,遇文件结束或出错返回0int fseek (FILE *fp,long offer,int base)移动fp所指文件的位置指针成功返回当前位置,否则返回非0long ftell (FILE *fp)求出fp所指文件当前的读写位置读写位置,出错返回&-1Lint fwrite(char *pt,unsigned size,unsigned n, FILE *fp)把pt所指向的n*size个字节输入到fp所指文件输出的数据项个数int getc (FILE *fp)从fp所指文件中读取一个字符返回所读字符,若出错或文件结束返回EOFint getchar(void)从标准输入设备读取下一个字符返回所读字符,若出错或文件结束返回-1char *gets(char *s)从标准设备读取一行字符串放入s所指存储区,用’\0’替换读入的换行符返回s,出错返回NULLint printf(char *format,args,…)把args,…的值以format指定的格式输出到标准输出设备输出字符的个数int putc (int ch, FILE *fp)同fputc同fputcint putchar(char ch)把ch输出到标准输出设备返回输出的字符,若出错则返回EOFint puts(char *str)把str所指字符串输出到标准设备,将’\0’转成回车换行符返回换行符,若出错,返回EOFint rename(char *oldname,char *newname)把oldname所指文件名改为newname所指文件名成功返回0,出错返回-1void rewind(FILE *fp)将文件位置指针置于文件开头无int scanf(char *format,args,…)从标准输入设备按format指定的格式把输入数据存入到args,…所指的内存中已输入的数据的个数五、动态分配函数和随机函数调用字符函数时,要求在源文件中包下以下命令行:#include &stdlib.h&void *calloc(unsigned n,unsigned size)分配n个数据项的内存空间,每个数据项的大小为size个字节分配内存单元的起始地址;如不成功,返回0void *free(void *p)释放p所指的内存区无void *malloc(unsigned size)分配size个字节的存储空间分配内存空间的地址;如不成功,返回0void *realloc(void *p,unsigned size)把p所指内存区的大小改为size个字节新分配内存空间的地址;如不成功,返回0int rand(void)产生0~32767的随机整数返回一个随机整数void exit(int state)程序终止执行,返回调用过程,state为0正常终止,非0非正常终止无放着这个题让我来!!!这不就是我们C语言题库上的吗!!!!!!我就直接复制过来了!(希望C语言老师知道了不要打我)一、数学函数调用数学函数时,要求在源文件中包下以下命令行:#include &math.h&函数原型说明功能返回值说明int abs( int x)求整数x的绝对值计算结果&double fabs(double x)求双精度实数x的绝对值计算结果&double acos(double x)计算cos-1(x)的值计算结果x在-1~1范围内double asin(double x)计算sin-1(x)的值计算结果x在-1~1范围内double atan(double x)计算tan-1(x)的值计算结果&double atan2(double x)计算tan-1(x/y)的值计算结果&double cos(double x)计算cos(x)的值计算结果x的单位为弧度double cosh(double x)计算双曲余弦cosh(x)的值计算结果&double exp(double x)求ex的值计算结果&double fabs(double x)求双精度实数x的绝对值计算结果&double floor(double x)求不大于双精度实数x的最大整数&&double fmod(double x,double y)求x/y整除后的双精度余数&&double frexp(double val,int *exp)把双精度val分解尾数和以2为底的指数n,即val=x*2n,n存放在exp所指的变量中返回位数x0.5≤x&1&double log(double x)求㏑x计算结果x&0double log10(double x)求log10x计算结果x&0double modf(double val,double *ip)把双精度val分解成整数部分和小数部分,整数部分存放在ip所指的变量中返回小数部分&double pow(double x,double y)计算xy的值计算结果&double sin(double x)计算sin(x)的值计算结果x的单位为弧度double sinh(double x)计算x的双曲正弦函数sinh(x)的值计算结果&double sqrt(double x)计算x的开方计算结果x≥0double tan(double x)计算tan(x)计算结果&double tanh(double x)计算x的双曲正切函数tanh(x)的值计算结果&二、字符函数调用字符函数时,要求在源文件中包下以下命令行:#include &ctype.h&函数原型说明功能返回值int isalnum(int ch)检查ch是否为字母或数字是,返回1;否则返回0int isalpha(int ch)检查ch是否为字母是,返回1;否则返回0int iscntrl(int ch)检查ch是否为控制字符是,返回1;否则返回0int isdigit(int ch)检查ch是否为数字是,返回1;否则返回0int isgraph(int ch)检查ch是否为ASCII码值在ox21到ox7e的可打印字符(即不包含空格字符)是,返回1;否则返回0int islower(int ch)检查ch是否为小写字母是,返回1;否则返回0int isprint(int ch)检查ch是否为包含空格符在内的可打印字符是,返回1;否则返回0int ispunct(int ch)检查ch是否为除了空格、字母、数字之外的可打印字符是,返回1;否则返回0int isspace(int ch)检查ch是否为空格、制表或换行符是,返回1;否则返回0int isupper(int ch)检查ch是否为大写字母是,返回1;否则返回0int isxdigit(int ch)检查ch是否为16进制数是,返回1;否则返回0int tolower(int ch)把ch中的字母转换成小写字母返回对应的小写字母int toupper(int ch)把ch中的字母转换成大写字母返回对应的大写字母三、字符串函数调用字符函数时,要求在源文件中包下以下命令行:#include &string.h&函数原型说明功能返回值char *strcat(char *s1,char *s2)把字符串s2接到s1后面s1所指地址char *strchr(char *s,int ch)在s所指字符串中,找出第一次出现字符ch的位置返回找到的字符的地址,找不到返回NULLint strcmp(char *s1,char *s2)对s1和s2所指字符串进行比较s1&s2,返回负数;s1= =s2,返回0;s1&s2,返回正数char *strcpy(char *s1,char *s2)把s2指向的串复制到s1指向的空间s1&所指地址unsigned strlen(char *s)求字符串s的长度返回串中字符(不计最后的'\0')个数char *strstr(char *s1,char *s2)在s1所指字符串中,找出字符串s2第一次出现的位置返回找到的字符串的地址,找不到返回NULL四、输入输出函数调用字符函数时,要求在源文件中包下以下命令行:#include &stdio.h&void clearer(FILE *fp)清除与文件指针fp有关的所有出错信息无int fclose(FILE *fp)关闭fp所指的文件,释放文件缓冲区出错返回非0,否则返回0int feof (FILE *fp)检查文件是否结束遇文件结束返回非0,否则返回0int fgetc (FILE *fp)从fp所指的文件中取得下一个字符出错返回EOF,否则返回所读字符char *fgets(char *buf,int n, FILE *fp)从fp所指的文件中读取一个长度为n-1的字符串,将其存入buf所指存储区返回buf所指地址,若遇文件结束或出错返回NULLFILE *fopen(char *filename,char *mode)以mode指定的方式打开名为filename的文件成功,返回文件指针(文件信息区的起始地址),否则返回NULLint fprintf(FILE *fp, char *format, args,…)把args,…的值以format指定的格式输出到fp指定的文件中实际输出的字符数int fputc(char ch, FILE *fp)把ch中字符输出到fp指定的文件中成功返回该字符,否则返回EOFint fputs(char *str, FILE *fp)把str所指字符串输出到fp所指文件成功返回非负整数,否则返回-1(EOF)int fread(char *pt,unsigned size,unsigned n, FILE *fp)从fp所指文件中读取长度size为n个数据项存到pt所指文件读取的数据项个数int fscanf (FILE *fp, char *format,args,…)从fp所指的文件中按format指定的格式把输入数据存入到args,…所指的内存中已输入的数据个数,遇文件结束或出错返回0int fseek (FILE *fp,long offer,int base)移动fp所指文件的位置指针成功返回当前位置,否则返回非0long ftell (FILE *fp)求出fp所指文件当前的读写位置读写位置,出错返回&-1Lint fwrite(char *pt,unsigned size,unsigned n, FILE *fp)把pt所指向的n*size个字节输入到fp所指文件输出的数据项个数int getc (FILE *fp)从fp所指文件中读取一个字符返回所读字符,若出错或文件结束返回EOFint getchar(void)从标准输入设备读取下一个字符返回所读字符,若出错或文件结束返回-1char *gets(char *s)从标准设备读取一行字符串放入s所指存储区,用’\0’替换读入的换行符返回s,出错返回NULLint printf(char *format,args,…)把args,…的值以format指定的格式输出到标准输出设备输出字符的个数int putc (int ch, FILE *fp)同fputc同fputcint putchar(char ch)把ch输出到标准输出设备返回输出的字符,若出错则返回EOFint puts(char *str)把str所指字符串输出到标准设备,将’\0’转成回车换行符返回换行符,若出错,返回EOFint rename(char *oldname,char *newname)把oldname所指文件名改为newname所指文件名成功返回0,出错返回-1void rewind(FILE *fp)将文件位置指针置于文件开头无int scanf(char *format,args,…)从标准输入设备按format指定的格式把输入数据存入到args,…所指的内存中已输入的数据的个数五、动态分配函数和随机函数调用字符函数时,要求在源文件中包下以下命令行:#include &stdlib.h&void *calloc(unsigned n,unsigned size)分配n个数据项的内存空间,每个数据项的大小为size个字节分配内存单元的起始地址;如不成功,返回0void *free(void *p)释放p所指的内存区无void *malloc(unsigned size)分配size个字节的存储空间分配内存空间的地址;如不成功,返回0void *realloc(void *p,unsigned size)把p所指内存区的大小改为size个字节新分配内存空间的地址;如不成功,返回0int rand(void)产生0~32767的随机整数返回一个随机整数void exit(int state)程序终止执行,返回调用过程,state为0正常终止,非0非正常终止无计算机攻城狮总结了下常用到的运算符和函数,希望能帮到题主~条件语句:&1.select 选择&2. expression 表达式&3. logical expression 逻辑表达式&4. Relational expression 关系表达式&5.priority优先&6. operation运算&7.structure 结构&循环语句:&1.circle 循环&2. condition 条件&3. variant 变量&4. process过程&5.priority优先&6. operation运算&数组:&1. array 数组&2. reference 引用&3. element 元素&4. address 地址&5. sort 排序&6. character 字符&7. string 字符串&8. application 应用&函数:&1.call 调用&2.return value 返回值&3.function 函数&4. declare 声明&5. `parameter 参数&6.static 静态的&7.extern 外部的&指针:&1. pointer 指针&2. argument 参数&3. array 数组&4. declaration 声明&5. represent 表示&6. manipulate 处理&结构体、共用体、链表:&1 structure 结构&2 member成员&3 tag 标记&4 function 函数&5 enumerate 枚举&6 union 联合(共用体)&7 create 创建&8 insert 插入&9 delete 删除&10 modify 修改&文件:&1、file 文件&2、open 打开&3、close 关闭&4、read 读&5、write 写&6、error 错误&&总结了下常用到的运算符和函数,希望能帮到题主~条件语句:&1.select 选择&2. expression 表达式&3. logical expression 逻辑表达式&4. Relational expression 关系表达式&5.priority优先&6. operation运算&7.structure 结构&循环语句:&1.circle 循环&2. condition 条件&3. variant 变量&4. process过程&5.priority优先&6. operation运算&数组:&1. array 数组&2. reference 引用&3. element 元素&4. address 地址&5. sort 排序&6. character 字符&7. string 字符串&8. application 应用&函数:&1.call 调用&2.return value 返回值&3.function 函数&4. declare 声明&5. `parameter 参数&6.static 静态的&7.extern 外部的&指针:&1. pointer 指针&2. argument 参数&3. array 数组&4. declaration 声明&5. represent 表示&6. manipulate 处理&结构体、共用体、链表:&1 structure 结构&2 member成员&3 tag 标记&4 function 函数&5 enumerate 枚举&6 union 联合(共用体)&7 create 创建&8 insert 插入&9 delete 删除&10 modify 修改&文件:&1、file 文件&2、open 打开&3、close 关闭&4、read 读&5、write 写&6、error 错误&&就简单的说几个吧~~~~C语言的系统函数真的是太多了~~~~1)&&&&&判断是否英文大写字母函数【函数头】 int isupper( int x) 【返回值】 若参数x中存放的字符是英文大写字母,返回非0(真否则返回0(假)。2)&&&&&判断是否数字字符函数【函数头】 int isdigit( int x)【返回值】 若参数x中存放的字符是数字字符,返回非0(真);否则返回0(假)。3)&&&&&将大写字母转换成小写字母函数【函数头】 int tolower(int x)【返回值】 若参数x中存放的字符是大写字母,则返回值是对应的小写字母。如果参数x中存放的不是大写字母,则返回值等于x的原来值。4)&&&&&将小写字母转换成大写字母函数【函数头】 int toupper(int x)【返回值】 若参数x中存放的字符是小写字母,则返回值是对应的大写字母。如果参数x中存放的不是小写字母,则返回值等于x的原来值5)&&&&&将字符转换成ASCⅡ代码值函数【函数头】 int toascii(int x)【返回值】 参数x中低7位对应的ASCⅡ代码值。【说明】 返回值在0~ 127之间。注意:使用以函数时,应在程序开头写上命令“#include &ctype.h &”就简单的说几个吧~~~~C语言的系统函数真的是太多了~~~~1)&&&&&判断是否英文大写字母函数【函数头】 int isupper( int x) 【返回值】 若参数x中存放的字符是英文大写字母,返回非0(真否则返回0(假)。2)&&&&&判断是否数字字符函数【函数头】 int isdigit( int x)【返回值】 若参数x中存放的字符是数字字符,返回非0(真);否则返回0(假)。3)&&&&&将大写字母转换成小写字母函数【函数头】 int tolower(int x)【返回值】 若参数x中存放的字符是大写字母,则返回值是对应的小写字母。如果参数x中存放的不是大写字母,则返回值等于x的原来值。4)&&&&&将小写字母转换成大写字母函数【函数头】 int toupper(int x)【返回值】 若参数x中存放的字符是小写字母,则返回值是对应的大写字母。如果参数x中存放的不是小写字母,则返回值等于x的原来值5)&&&&&将字符转换成ASCⅡ代码值函数【函数头】 int toascii(int x)【返回值】 参数x中低7位对应的ASCⅡ代码值。【说明】 返回值在0~ 127之间。注意:使用以函数时,应在程序开头写上命令“#include &ctype.h &”
相关标签:
关注我们咨询服务合作法律法规京ICP备号
下载申请方APP
即刻拥有你的学业规划助手欢迎加入我们,一同切磋技术 &
用户名: &&&
密 码: &
共有 6616 人关注过本帖
标题:定义函数时,形参名为什么可以省写?求解!!
等 级:新手上路
帖 子:20
结帖率:33.33%
&&已结贴√
&&问题点数:5&&回复次数:10&&&
定义函数时,形参名为什么可以省写?求解!!
各位大神,,,,,,,,,求解!!
来 自:开封
等 级:侠之大者
帖 子:318
专家分:497
定义和声明函数一样吗?
声明函数时可省略形参名,编译器只检查参数类型和个数!!!
Stay hungry , Stay foolish!
等 级:黑侠
帖 子:392
专家分:554
其实行参的作用是占位符,给人看的编译器会忽略
来 自:郑州
等 级:版主
威 望:75
帖 子:2636
专家分:6423
从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
2楼是对的,不错哦。
授人以渔,不授人以鱼。
等 级:黑侠
帖 子:392
专家分:554
#include &stdio.h&
int main(void)
void f(int a); //这是定义还是声名呢?有点混淆
int a = 10;
void f(int a) //这是定义还是声名呢?有点混淆
int b = 20;
printf(&%d&,b);
我也不懂,
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
回复 6楼 jokerskill
你那两行注解中提问的,第一行是声明,第二行是定义。另外,你看的书应该注意了,怎么还教你把函数的声明写在函数体内?是你学成这样,还是那书很强调要写成这样?
授人以渔,不授人以鱼。
等 级:论坛游民
帖 子:40
专家分:62
楼主说这话什么意思啊,我看的谭教授的那本C课程,声明都在函数体内的,要么先声明再用,定义在后,要么先定义,然后直接用~~
让我纠结的是int main(void),为什么整主函带了个空类的形参呢,毛用??WHY,WHY???
来 自:上海
等 级:论坛游侠
帖 子:209
专家分:197
回复 楼主 wsm340223
同时编译可以,分别编译不行。
等 级:新手上路
回复 楼主 wsm340223
对函数的“定义”和“声明”不是同一回事。函数的定义是指对函数功能的确立,包括指定函数名、函数值类型、形参及其类型及其函数体等,它是一个完整的、独立的函数单位。而函数的声明的作用则是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查(例如,函数名是否正确,实参与形参的类型和个数是否一致),它不包含函数体。
版权所有,并保留所有权利。
Powered by , Processed in 0.026838 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved

我要回帖

更多关于 函数的等待 的文章

 

随机推荐