填空题

输入一整数,计算其位数 k,然后将其各位数字按逆序转换为字符串输出。例如,输入 14251,则输出“15241”;输入-6319870,则输出“-0789136”。

void main(     )

{      long num,t,i=0,k;

       char *pstr;

       scanf("%ld",&num);

       t=num;

       k=____①____ ;

       while(____②____ ) { t=t/10; k++; }

       pstr=(char *)malloc((k+2)*sizeof(char));

       if(num<0) { pstr[0]='-'; i=1;____③____; }

       for( ;k>0;k--){ pstr[i++]=____④____ ; num=num/10; }

       ____⑤____ ;

      printf("%s\n",pstr);

      free(pstr);

}

  • 1、
【正确答案】 1、

①num!=0?0:1;②t;③num=-num;④num%10+'0';⑤pstr[i]='\0'

    
【答案解析】