各位大神,帮小弟我看下哪错啦。小弟我菜鸟。

各位大神,帮我看下哪错啦。。。我初学者。。。
#include <math.h> 
#include <stdio.h> 

int main(void) 

  double r;
  int n;
  scanf("%6f %2d",&r,&n);
  printf("%6f raised to %2d is %lf\n",r,n,pow(r, n)); 
  return 0; 
}


------解决方案--------------------
%6f改成%6lf
------解决方案--------------------
scanf("%.6f %d",&r,&n);
printf("%.6f raised to %d is %lf\n",r,n,pow(r, n));
这样写,试试
------解决方案--------------------
#include <math.h>
#include <stdio.h>

int main(void)
{
double r;
int n;
scanf("%6lf %2d",&r,&n);
printf("%6f raised to %2d is %lf\n",r,n,pow(r, n));
return 0;
}

------解决方案--------------------
The value is not truncated even if the result is larger.

设置6f不会截断输出数字, 只是规定了最小输出宽度, 不够用空格补齐. 数字宽超出也不会截断. 你怎么取6列啊?
------解决方案--------------------
我也是菜鸟。。不知道对不对。。我是把小数点直接去掉。
#include <math.h>
#include <stdio.h>

int main(void)
{
double r;
int n;
scanf("%6lf %2d",&r,&n);
printf("%6.0f raised to %2.0d is %lf\n",r,n,pow(r, n));
return 0;
}
------解决方案--------------------
scanf()格式控制字符串: %[*][输入宽度][长度]输入类型
输入类型: d:十进制有符号整数 u:十进制无符号整数 o:八进制无符号整数 x:十六进制无符号整数 f:小数形式实数 e:指数形式浮点 
c:字符 s:字符串 n:返回其前字符个数
*:带星号表示该输入项不用来给参数列表中的变量们赋值,被跳过
输入宽度:截掉超出部分,仅用保留的部分赋值
长度: l:长整 h:短整

 printf()格式控制字符串: %[标志][最小宽度][.最大字符个数或.精度][长度]输出类型
标志: +:将符号输出 空格:为正则冠空格,为负则冠负号 #:输出前缀0或0x或有小数部分时输出小数点 -:左对齐
最小宽度:未达到最小输出宽度则补空格(字符前)或0(数字前)
最大字符个数或精度:截掉超出的字符或小数部分(优先于最小输出宽度?)
长度: l:长整(对"f"无影响) h:短整
输出类型: d:十进制有符号整数 u:十进制无符号整数 o:八进制无符号整数 x或X:十六进制无符号整数 f:小数形式实数 e或E:指数形式浮点 
g或G:实数(选小数和指数两种形式中较短的形式) c:字符 s:字符串 p:指针

没有控制台你自己看吧,不加点表示输出宽度,整数加.表示最大字符数,float和double加.表示精度
你自己试吧,别忘了把结果晒出来