AC quiz 有这四个问题,涉及 fprintf 和 EOF。在与这些问题相关的课程部分中并没有真正解释它们,我在网上找不到很好的答案。
屏幕上打印的数字和/或编译失败的原因是 fprintf 的结果还是它与 EOF 的关系?
#include <stdio.h> int main(void) { int i; i = fprintf(stdin,"Hello!"); printf("%d",i == EOF); return 0; }
答:程序输出1
#include <stdio.h> int main(void) { int i; i = fprintf(stderr,"Hello!"); printf("%d",i == EOF); return 0; }
答:程序输出0到stdout流
#include <stdio.h> int main(void) { FILE *f; int i = fprintf(f,"Hello!"); printf("%d",i == EOF); return 0; }
答:编译或执行失败
#include <stdio.h> int main(void) { FILE *f = fopen("file","w"); int i = fprintf(f,"Hello!"); printf("%d",i != EOF); return 0; }
答:程序输出1