问答题
下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。例如,当S中的数为7654321时,t中的数为642。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MOD11.C中,不得增行或删行,也不得更改程序的结构!#include<stdio.h>/**********found**********/void fun(10ng s,long t){long s1=10;s=s/10;*t=s%10:while(s>0){s=s/100;*t=s%10*s1+*t;/**********found**********/s1=s1*100;}}main(){long s,t;printf(''\nPlease enter s:'');scanf(''%1d'',&s);fun(s,&t);printf(''Ihe result is:%ld\n'',t); }
【正确答案】正确答案:1.void fun(1ong s,long*t) 2.s1=s1*10;
【答案解析】解析:1.主函数中调用函数的参数为地址,因此函数fun的形式参数应为指针类型。 2.重新组合一个数,从十位开始,然后百位,依次类推。每增加一位数,原数值需乘10,即s1=s1*10;。