c语言负数的输出错误

编写了一个小程序用于测试负数的计算和输出,但是发现每次输出的结果都是错误的,例如1-2=4294967295,已经使用了long long int 来输出结果,但还是存在问题,相反的,如果用int 输出,则一切正常。

#include<stdio.h>
#include<math.h>

int main()
{
    unsigned int a, b;
    long long int result;

    scanf_s("%d%d", &a, &b);

    result = a - b;

    printf("%lld", result);

    return 0;
}

不是大哥,你用long long int输出干嘛,数这么小
http://t.csdn.cn/Af8uU

把unsigned去掉即可。符号问题。


#include <stdio.h>
#include <math.h>

int main()
{
    int a, b;
    int result;

    scanf_s("%d%d", &a, &b);

    result = a - b;

    printf("%d", result);

    return 0;
}