给定程序中 函数fun()的功能是:使数组中的元素的值缩小5倍。 请改正程序中的错误 使它能
问题详情
给定程序中,函数fun()的功能是:使数组中的元素的值缩小5倍。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include<stdio.h>
include<conio.h>
float m[10];
/*************found**************/
int fun (void)
{
int j;
printf("In subfunc after callingn");
for(j=O;j<lO;j++)
{
;
/*************found**************/
print ("%f ",m[j]%5);
}
}
main()
{
int i;
printf ("In main before callingn");
for (i=0;i<10;i++)
{
m[i]=i+20;
printf("%f ",m[i]);
}
fun();
printf("nIn main after callingn");
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)错误:int fun(void) 正确:void fun(void)(2) 错误:printf("%f",m[j]%5); 正确:printf("%f",m[j]/5); 解析:错误1:函数fun()没有返回值,所以定义函数类型为void。错误2:此处考查的是除法运算符和取余运算符的区别。