给定程序MODl1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为2736598时,t中的数为:2358。 #include<conio.h> #inc

admin2009-02-15  100

问题 给定程序MODl1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为2736598时,t中的数为:2358。
   #include<conio.h>
   #include<stdio.h>
   /************found************/
      void fun(long s,long t)
      {  long s1=10;
         *t=S%10;
         while(s>0)
      {  s=s/l00;
      *t=S%10*s1+*t;
   /************found************/
              s1=s1*100;
            }
     }
     main()
     {longs,t;
        clrscr();   
        printf ("\nPlease enter s:”);
        scanf("%ld",&s);
        fun(s,&t);
        printf("The result is:%1d\n",t);
       }

选项

答案void fun(long s,long t) 改为 void fun(long s,long*t) s1=s1*100; 改为 s1=s1*10;

解析 从fun函数可以看出,变量t应该是指针变量。因此,在形参表列中,t之前应该加“*”;从s中取出奇数位构建新数是逐位进行,而不是跳位的。因此,s1应该乘以10。
转载请注明原文地址:https://kaotiyun.com/show/TTID777K
0

最新回复(0)