问题详情

下面代码的设计意图是:将保存在文本文件data.txt中的一系列整数(不超过100个)读取出来存入数组arr[],然后调用函数sort()对数组arr的元素进行排序,最后在显示屏输出数组arr的内容。【C代码】 问题:以上C代码中有三处错误(省略部分的代码除外),请指出这些错误所在的代码行号,并在不增加和删除代码行的情况卜进行修改,写出修改正确后的完整代码行。


时间:2021-09-17 18:00 关键词: C语言程序设计 初级程序员

答案解析

<p> 14行,应改为&quot;FILE*fp&quot;19行,应改为fscanf(fp,&quot;%d&rsquo;&rsquo;,&amp;arr[num++]);21行,应改为sort(arr,num);</p>
中fp为文件打开后的指针,因此在定义时应定义为"FILE*fp"。14行错误。fscanf函数的格式为intfscanf(FILE*stream,char*format,),因此第19行程序错误,fscanf函数中第三个参数应该是个地址值。应改为"fscanf(fp,"%d",&arr[num++]);"。在参数传递时,sort函数的形参是数组地址,因此,在mam函数中的实参应该也是数组地址arr,21行错误,应改为"sort(arr,num);"。