lark 发表于 2015-6-28 19:50:54

如题: (void)getc(stream);

/*(void)是无类型,那下面, (void)getc(stream);这个是什么意思?强制将有类型转换成无类型?,我想知道下(void)在 (void)getc(stream);这个代码中的作用;*/
/*麻烦大家帮我看下,谢谢;*/
插个代码:
#include<stdio.h>
int main(void){
    FILE *stream=NULL;
    int errnum=0;
    stream=fopen("E:\\DUMMY.FIL","w");
   
    (void)getc(stream);//(void)为什么要加这个,一般这种格式不是强类型转换吗?
    errnum=ferror(stream);
      printf("\n错误返回值是:%d ;\n",errnum);
   
      if(errnum!=0){    //ferror()非零返回值;
            printf("Error reading from DUMMY.FIL\n\n");
      }
      if(errnum==0){    //返回值为零时,没有错误;
            printf("Not error,very good ! \n\n");
      }
clearerr(stream);      
fclose(stream);
return 0;
}
ferror()—百度百科

仰望天上的光 发表于 2015-6-28 20:48:49

getc(stream)是函数调用,该调用返回一个int表明读到的char或EOF
(void)getc(stream)写法表明函数调用者不关心本次函数调用的返回值,其实你不写(void)也是可以的

lark 发表于 2015-6-28 20:57:17

仰望天上的光 发表于 2015-6-28 20:48
getc(stream)是函数调用,该调用返回一个int表明读到的char或EOF
(void)getc(stream)写法表明函数调用者 ...

可以解释详细点吗?getc(stream);之后 ,加(void),
我知道,没有(void)也可以执行;
但是还是想知道运行过程;在遇到(void)之后。。
麻烦了。

仰望天上的光 发表于 2015-6-29 09:00:36

getc(stream)是函数调用,该调用返回一个int表明读到的char或EOF
(void)getc(stream)写法就是把函数的返回值转换为void类型

lark 发表于 2015-6-29 12:21:18

仰望天上的光 发表于 2015-6-29 09:00
getc(stream)是函数调用,该调用返回一个int表明读到的char或EOF
(void)getc(stream)写法就是把函数的返 ...

void,不是无类型吗?恩,差不多懂了,==

lark 发表于 2015-6-29 12:32:19

仰望天上的光 发表于 2015-6-29 09:00
getc(stream)是函数调用,该调用返回一个int表明读到的char或EOF
(void)getc(stream)写法就是把函数的返 ...

答案有没有采纳,采纳在哪里点击?(我来很久了,但 潜水中 .....:lol:)
页: [1]
查看完整版本: 如题: (void)getc(stream);