下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为7654321时,t中的数为7531。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在

admin2021-04-28  57

问题 下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为7654321时,t中的数为7531。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构!
    #include
    /**********found**********/
    void fun(10ng s,long t)
    {long s1=10;
    ,it t=s%10:
    while(s>0)
    {  s=s/100;
    *t=s%10*s1+*t:
    /**********found**********/
    s1=s1*100:
    }
    }
    main()
    {long s,t;
    prinff(“\nPlease enter s:”);scanf(“%ld”,&s);
    fun(s,&t);
    prinff(“The result is:%1d\n”,t);
    }

选项

答案(1)void fun(long s,long*t) (2)s1=s1*10;

解析 函数定义,指针型变量;数值n和其各个位如何表示。
(1)主函数中调用函数的参数为地址,因此函数fun的形式参数应为指针类型。
(2)重新组合一个数,从个位开始,然后十位,依次类推,因此每增加一位数,原数值需乘以10,即s1=s1*10;。
转载请注明原文地址:https://jikaoti.com/ti/ASz0FFFM
0

最新回复(0)