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

admin2013-06-12  32

问题 下列给定程序中函数fun()的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为7654321时,t中的数为642。
   请改正程序中的错误,使它能得出正确的结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   试题程序:
       #include<stdio.h>
       #include <conio.h>
       /*************found**************/
        void fun(long s,long t)
        { long s1=10;
          s/=10;
          *t=s%10;
       /*************found**************/
        while(s<0)
           { s=s/100;
             *t=s%10*s1+*t;
             s1=s1*10;
           }
       }
       main()
       { long s, t;
         clrscr();
         printf("\nPlease enter s: "); scanf
                 ("%ld",&s);
         fun(s,&t);
         printf("The result is: %ld\n ",t);
       }

选项

答案(1)错误:void fun(long s,long t) 正确:void fun(long s,long *t) (2) 错误:while(s<0) 正确:while(s>0)

解析 本题考查函数调用方式和while循环语句中条件限制的方法。主函数中fun()的调用方式说明fun()函数的参数应当为指针类型,所以void fun(long s,long t)正确的写法应该是void fun(long s,long *t)。
转载请注明原文地址:https://jikaoti.com/ti/PVn0FFFM
0

最新回复(0)