Why doesnt this code work?

Q

Why doesn't this code:
double d;
scanf("%f", &d);
work?

✍: Guest

A

Unlike printf, scanf uses %lf for values of type double, and %f for float.%f tells scanf to expect a pointer-to-float, not the pointer-to-double you gave it. Either use %lf, or declare the receiving variable as a float.

2015-10-30, 1108👍, 0💬