(4)向文件用fprintf写数据是在for循环中进行的,而for循环体的第一句是fseek(fp,0L,0);,这一句的意思是“把文件内部指针从文件开头向后移动0个字符位置”,其结果就是指针停在文件开头。每循环一次都这么做,所以1,2,3,4,5,6六个数都写在文件开头的位置上了——2覆盖了1,3覆盖了2……6覆盖了5。最后文件里只在开头那个位置上存储了一个数6,所以读到k里就是6。
(5)A是错误的,所以是应选项。x[10]的类型是struct st,所以从指针x开始一次写10个元素(如B)或分别写10个块(如C)或从第一个元素的地址开始依次一次写一个元素,然后地址增一个元素之量直到10元素写完都可以。唯独A只把第一个元素连续 写了10次!
温馨提示:答案为网友推荐,仅供参考