这个C程序错在哪儿,希望高手多多帮忙!解决办法

这个C程序错在哪儿,希望高手多多帮忙!!
#include<stdio.h>
#define pi 3.141592654
#define a 2.0
double S(double r);
double L(double r);
int main(void)
{
 // scanf("%f",&r);
  printf("面积=%f",S(a));
  printf("周长=%f",L(a));
  return 0;
} double S(double r)
{
  return (pi*r*r);
}
double L(double r)
{
  return (2.0*pi*r);
}


这个程序错在哪儿??


------解决方案--------------------
没有错。。
------解决方案--------------------
- -运行没提示错啊
------解决方案--------------------
把错误贴出来
------解决方案--------------------
vs2008上没有错
------解决方案--------------------
C/C++ code

#include<stdio.h>

#define pi 3.141592654
#define a 2.0

double S(double r);
double L(double r);

int main(void)
{
    // scanf("%f",&r);
    printf("面积=%lf\n",S(a));//double的输出是lf
    printf("周长=%lf\n",L(a));
    return 0;
} 
double S(double r)
{
    return (pi*r*r);
}
double L(double r)
{
    return (2.0*pi*r);
}

------解决方案--------------------
运行无错误
------解决方案--------------------
7楼有理.
------解决方案--------------------
是不是项目建的不对啊 ~重新建个项目试试~我在vs2010运行没错啊 ~
------解决方案--------------------
额 真的没错……
------解决方案--------------------
double的格式字符串是"%lf"
"%f"适用于float

你用这个试试