改錯題
下列給定程序中函數(shù)fun的功能是:從低位開始取出長整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個新數(shù)放在t中,例如,當s中的數(shù)為7654321時,t中的數(shù)為7531。
請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
#include
#include
/********found********/
void fun(long s, long t)
{
long s1 = 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("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t);
}
參考答案:
第1處:void fun(long s, long t)應(yīng)改為 void fun(long s, long *t)
第2處:s1=s1*100;應(yīng)改為s1=s1*10;