满意答案
1.char *tmpnam(char *sptr);
sptr可以是NULL或者一个栈地址,
NULL时返回一个内部静态内存地址(保存了临时文件名)
2.是的。EOF是自动添加的,无需你费心。
3.typedef struct{...}S;跟typedef struct S_tag{...}S;中,后者为结构体起了一个名字,叫做S_tag,前者没有结构体名。后者除了可以用S mys;这样的形式定义以外,还可以用struct S_tag mys;来定义。而前者只能用S mys;定义变量。
typedef struct{...}S;
S *p;
与
typedef struct S_tag{...S_tag *p;}S;
前者声明了一个指向S结构体的指针p。后者没有声明变量,只是定义了结构体S,并且S内的成员是一个指向它本身的指针。
4.fscanf是从文件中读取数据。假如fscanf(stdin,"%d%d",&a,&b);时,是从标准输入一般是键盘来读取数据,如果有换行符输入时,fscanf会将换行符放回到输入流中。证明的话,你可以紧跟一个fgets函数,它会将换行符读出,然后用fputs将其打印出来。
stdin代表标准输入,一般是键盘。stdout代表标准输出,一般是屏幕。你可以用fputs(stdout...)来将内容输出到屏幕。
00分享举报