if(n<0){putchar('-'); n=-n;} 是什么意思?

用递归法将一个整数n转换成字符串。例如,输入整数483,应输出字符串“483”。


#include<stdio.h>
void fun(int n)
{
    int i;
    if ((i = n / 10) != 0)
    {
        fun(i);
    }
    putchar(n % 10 + '0');
}
int main()
{
    int n;
    printf("输入整数:");
    scanf_s("%d", &n);
    if (n < 0)
    {
        putchar('-');
        n = -n;
    }
    fun(n);
    return 0;
}

就是n<0的时候,n就是负数,先输出一个负号"-",然后将n的值取负赋值给n。

希望对题主有所帮助,可以的话,帮忙点个采纳!

就是将负数转换为正数啊
如果是负数,那么输出一个负号,然后将负数转为正数,按正数进行字符串转换
-n就是n*-1的意思