大多数时候我使用C ++来处理URI Online问题,但这次我需要使用C.
我已经解决了计算部分,但URI不断给我经典的“演示错误问题”。
我知道我必须在最后打破这一行,但\n
或\r\n
或其他任何东西似乎都无法解决这个问题。
这是我的代码:
int main () {
double R,PI,a;
PI = 3.14159;
scanf("%lf", &R);
a = PI * (pow(R,2));
printf ("A=%0.4f", a, "\n");
return 0;
}
答案 0 :(得分:0)
你误解了printf
是如何运作的。它不会像你习惯于std::cout << … << …;
那样连接你投入的所有东西,而是主要打印第一个参数,即格式字符串。后一个参数仅在格式字符串请求它们时才起作用,就像对第二个参数使用%0.4f
一样。但是,第三个未使用。你可以像这样解决它:
printf("A=%0.4f%s", a, "\n");
或者,更像是惯用语,如下:
printf("A=%0.4f\n", a);
顺便说一下,至少我的gcc警告我:
main.c:在函数'main'中:
main.c:...:警告:格式参数太多[-Wformat-extra-args]
printf(“A =%0.4f”,a,“\ n”);