递归将整数n转换为字符串

如果是负数,要把它转换为正数,并输出一个‘-’。covert函数只处理正数。

#include<stdio.h>
void main()
{
    void covert(int n);
    int number;
    printf("input an integer:");
    scanf("%d",&number);
    printf("output:");
    //将负数转换为正数,并添加'-'
    if(number<0)
    {
        putchar('-');
        number=-number;
    }
    convert(number);
    printf("\n");
}
//递归函数
void convert(int n)
{
    int i;
    if((i=n/10)!=0)
        convert(i);
    putchar(n%10+'0');
}

例如输入 456,调用convert函数n=456, 第一次:i=45,调用convert函数,第二次:i=4,调用convert函树,第三次:i=0,执行putchar,返回上一次调用convert处…..

你可能感兴趣的:(正数n转换为字符串)