C语言三问

Python022

C语言三问,第1张

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...)来将内容输出到屏幕。

C语言第三题为什么第三问是二十四个字节

字符串末尾都有一个结束符‘\n’,所以是字符数加上一个字节

如下实例代码

int main()

{

int n,a,b,index,round,min

char aa[]="0123456789"

printf("aa的长度为%d",sizeof(aa))

}

运行结果:

第七问是8==9是一个比较判断语句,如果相等返回真(1),不相等返回假(0),所以是判断值是0