改错题 1.  在给定程序中,函数proc()的功能是:使数组中的元素的值缩小5倍。
    请修改程序中的错误,使它能得出正确的结果。
    注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
    试题程序:
    #include<stdlib.h>
    #include<stdio.h>
    #include<conio.h>
    float m[10];
    //****found****
    int proc(void)
    {
    int j;
    printf("In subfunc after calling\n");
    for(j=0;j<10;j++)
    {
    //****found****
    printf("%f",m[j]%5);
    }
    }
    void main()
    {
    int i;
    printf("In main before calling\n");
    for(i=0;i<10;i++)
    {
    m[i] =i+20;
    printf("%f",m[i]);
    }
    proc();
    printf("\nln main after calling\n");
    for(i=0;i<10;i++)
    printf("%f",m[1]/5);
    }
【正确答案】(1)错误:int proc(void)
   正确:void proc(void)
   (2)错误:printf(”%f",m[j]%5);
   正确:printf("%f",m[j]/5);
【答案解析】 由主函数中的函数调用可知,函数proc()没有返回值,因此,“int proc(void)”应改为“void proc(void)”。题目要求使数组中元素的值缩小到1/5,而不是对5取余,因此,“printf("%f",m[j]%5);”应改为“printf("%f",m[j]/5);”。