求面积周长问题,为什么这个程序想要输出结果一定要隔行再输入一个数字才行

用的是vs,刚学没多久,程序如下。
遇到的问题是程序跑起来之后,总需要我在输入的r后面再输入一个数,才能输出结果。

#include<stdio.h>
#define PI 3.14159
int main()
{
    double r;
    double circum;
    double area;
    scanf("%lf\n", &r);
    circum = PI * 2 * r;
    area=PI*r*r;
    printf("circum=%lf,area=%lf\n", circum, area);
    return 0;
}

第8行,scanf("%lf\n", &r); 里多了 \n ,修改为:scanf("%lf", &r); 就可以了。

scanf("%lf\n", &r);-->应该是scanf("%lf", &r);
\n用在scanf中表示:读取并放弃连续的空格、tab、回车。不是表示等待换行符。
scanf(“%lf\n")语句由于放弃了结束符回车,所以输入完整数后,再输入回车是不会返回的,而必须碰到字符、数字才会返回。