下列给定程序中函数fun的功能是:从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为7654321时,t中的数为642。
请改正程序中的错误,使它能得出正确的结果。
注意:不得增行或删行,也不得更改的程序的结构!


源程序如下:

#include <stdio.h>
/************found************/
void fun (long s, long t)
{ long sl=10;
s /= 10;
*t = s % 10;
/************found************/
while ( s < 0)
{ s = s/100;
*t = s%10*sl + *t;
sl = sl * 10;
}
}
main()
{ long s, t;
printf("\nPlease enter s:"); scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t);
}


做完再看答案~~

.............................................................................................................................................




【答案】

(1)void fun(long s, long*t)

(2)whie(s>0)


【考点分析】

本题考查:函数定义,指针型变量作函数参数;while循环语句。

【分析】

函数的形参类型应与实参类型相同,主函数中函数fun()的调用方式说明其参数应为指针类型,所以形参应定义为long*t

whie循环的功能是,每循环一次就从s中的数上取出一位进行运算,直到取完为止,所以循环条件为s>0




【程序运行】

修改题_整型变量



【运行过程】

修改题_整型变量_02