问题 填空题

给定程序中,函数fun()的功能是:使数组中的元素的值缩小5倍。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<stdio.h> #include<conio.h> float m[10]; /*************found**************/ int fun (void) { int j; printf("In subfunc after calling\n"); for(j=O;j<lO;j++) { ; /*************found**************/ print ("%f ",m[j]%5); } } main() { int i; printf ("In main before calling\n"); for (i=0;i<10;i++) { m[i]=i+20; printf("%f ",m[i]); } fun(); printf("\nIn main after calling\n"); for(i=O; i<10;i++) printf("%f ",m[i]/5); }

答案

参考答案:(1)错误:int fun(void) 正确:void fun(void)

解析:(2) 错误:printf("%f",m[j]%5); 正确:printf("%f",m[j]/5); 错误1:函数fun()没有返回值,所以定义函数类型为void。错误2:此处考查的是除法运算符和取余运算符的区别。

单项选择题
问答题