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

admin2009-02-15  27

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

选项

答案(1)错误:int fun(long s,long *t 正确:void fun(long s,long*t) (2) 错误:s=s%100; 正确:s=s/100;

解析 错误1:函数由指针来完成参数的传递,所以没有返回值,应定义函数的类型为void。错误2:此处要注意特殊运算符号“%”——取余和“/”——整除的区别。将一个数整除100则可得到由其百位数以上的数组成的新数字,将一个数整除100取余则可得到由十位数和个位数组成的新数。
转载请注明原文地址:https://kaotiyun.com/show/KTID777K
0

最新回复(0)