C语言问题,无法使用pow函数

#include "stdio.h"
#include <math.h>
#include "stdlib.h"
#include "stdafx.h"
int main()
{
double n=0.0,c;
c=pow(2.0,n);
do
{
n=n+1;
}
while(c>20);
printf("N is %d",n);
return 0;
}图片上传不了什么鬼
error C2065: 'pow' : undeclared identifier
错误信息

第1个回答  2016-09-03
n是double型变量,printf的格式符应该用%f,不是%d追问

这个也是个问题,不过pow还是没解决

追答

pow已经在math.h中定义了,而你也包含了"math.h",应该是没有问题了,请删除
#include "stdafx.h"试试,或者把它放在第一行。我记得好像#include "stdafx.h"语句要放在第一句,否则它前面的内容会被忽略!

#include "stdafx.h" /*把这句放在第一行,或者干脆删除试试*/
#include "stdio.h"
#include
#include "stdlib.h"
int main()
{
double n=0.0,c;
c=pow(2.0,n);
do
{
n=n+1;
}
while(c>20);
printf("N is %f",n);
return 0;
}

追问

嗯可以了,不过有个问题就是这段代码是不是哪里出错。。调试了一下发现只循环一次就出来了

追答

我猜也是错了,while(c>20);改成while(c<20);并且do里面的代码也要改:

#include "stdafx.h"
#include "stdio.h"
#include <math.h>
#include "stdlib.h"
int main()
{
    double n=0.0,c;
    do
    {
        n=n+1;
        c=pow(2.0,n);
    }
    while(c<20);
    printf("N is %f",n);
    return 0;
}

上面的代码是你想要的结果吗?!

追问

嗯,我自己有发现那个C要放在循环里面,不过while容我想想。。

本回答被提问者采纳
第2个回答  2016-09-03
int 是闹哪样追问

函数开头不是这么写吗,新手不清楚。但是这和pow没法使用由有关系吗

相似回答