2 + 2 = 2 в C (двойная арифметика)

Я совершенно не понимаю, почему он возвращает 2 для a = 2 и b = 2 ..

Есть идеи?

#include <stdlib.h>

int main()
{
    double a,b,c;
    printf("a=");
    scanf("%d", &a);
    printf("b=");
    scanf("%d", &b);
    printf("c=");
    scanf("%d", &c);

    printf("x=%d", a+b);

    return 0;
}
0
задан cpx 15 October 2011 в 09:20
поделиться