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

admin2010-11-26  23

问题 给定程序中函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。
   例如,当s中的数为:7654321时,t中的数为:642。
   请改正程序中的错误,使它能得到正确结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
   [试题源程序]
   #include<stdio.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;
   }
   }
   mein()
   {
   long s,t;
   printf("\nPlease enter s:");
   scanf("%1d",&s);
   fun(s,&t);
   printf("The result is:%1d\n",t);
   }

选项

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

解析 错误1:在函数fun体中,t是一个指针型变量,由C的基础知识我们可以知道,定义形参时也应定义指针。
   错误2:由题目可以知道,此处条件应该s>0,所以这里应改为:while(s>0)。
转载请注明原文地址:https://jikaoti.com/ti/xBkiFFFM
0

相关试题推荐
最新回复(0)