问题
填空题
给定程序中,函数fun()的功能是:使数组中的元素的值增加10倍。
改正其中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.
试题程序:
#include<stdio.h>
#include<conio.h>
iht m[10];
void fun(void)
int j;
printf("In subfunc after calling\n");
for(j=0;j<l0;j++)
/************found**********************/
printf("%3d",m[j]*l0);
main()
int i;
printf("In main before calling\n");
for (i=0; i<10; i++)
m[i]=i;
printf ("%3d",m[i]);
fun ();
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
解析: 本题考查全局变量相关知识。该题程序中的fun()没有参数输入,但数组m[10]为全局变量,故可在fun()函数中使用,fun()函数对数组m的操作可以反映到主函数的输出结果中。