问答题
给定程序中,函数proc()的功能是:使数组中的元素的值增加10倍。
修改其中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<sldio.h>
#include<conio.h>
int m[10];
void proc(void)
{
int j;
printf("In subfunc after calling/n");
for(j=0; j<10; j++)
{
//****found****
printf("%3d", m[j]*10);
}
}
void main()
{
int i;
printf("In main before calling/n");
for(i=0; i<10; i++)
{
m[i]=i;
printf("%3d", m[i]);
}
proc();
printf("/nIn main after calling/n");
for(i=0; i<10; i++)
printf("%3d", m[i]);
getch();
}
【正确答案】
【答案解析】错误:printf("%3d", m[j]*10);
正确:printf("%3d", m[j]=m[j]*10);
[解析] 按照题目中要求,数组中的元素值增加10倍,应该让数组中的每一个元素乘以10放入原来的位置。因此,“printf("%3d", m[j]*10); ”应改为“printf("%3d", m[j]=m[j]*10);”。