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...)来将内容输出到屏幕。
C语言第三题为什么第三问是二十四个字节
字符串末尾都有一个结束符‘\n’,所以是字符数加上一个字节
如下实例代码
int main()
{
int n,a,b,index,round,min
char aa[]="0123456789"
printf("aa的长度为%d",sizeof(aa))
}
运行结果:
第七问是8==9是一个比较判断语句,如果相等返回真(1),不相等返回假(0),所以是判断值是0