
计算机二级C语言考试试题!关于文件的,解析理解不了麻烦大家帮忙解释下,谢谢了!
关注首先,题目要求选择错误的,
fwrite的用法如下:
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
ptr:要写入数据的首地址
size:每次写入的数据大小
nmemb:写入次数
stream:要写入的文件指针
答案A:for循环写入10次,每次写1个sizeof(struct st)的大小,首地址每次都是x,相当于把数组的第一个元素写入10次,故错误
答案B:从x的地址取数据,写一次10*sizeof(struct st)的大小,刚好把整个数组写入,故正确
答案C:从x的地址取数据,写十次sizeof(struct st)的大小,也刚好把整个数组写入,故正确
答案D:for循环写入10次,每次写1个sizeof(struct st)的大小,每次写入的首地址是数组的元素递增,把整个数组写入,故正确