Pow()函数在C中的for循环中

时间:2014-10-28 05:53:56

标签: c

有谁能告诉我为什么我不能这样做?

它没有编译,我知道我必须以某种方式出错。

我试图打印2的权力,但我不能这样做。

任何人都可以帮助我吗?这是我写的代码。我在linux上使用gcc。

#include <stdio.h>
#include <math.h>

int main() {

    int power;

    printf("Powers of 2:\n");

    {int i;
        for(i = 0; i < 30; i++){
            power = pow(2,i);
            printf("%s%i %s %i %s","2^",i,"=",power,"\n");

        }
    }

    return 0;
}

2 个答案:

答案 0 :(得分:4)

gcc foo.c -lm -o foo

你已经像这样编译了。 'm'是数学库

答案 1 :(得分:0)

这在xcode和gcc中编译得很好,但是像xcode的旧版本这样的编译器不喜欢在int main()函数中没有空格。你的代码中也有一些过多的东西。

int声明前的括号是没有意义的。你的印刷品也很疯狂。 使用此代码可以完成同样的事情。

#include <stdio.h>
#include <math.h>

int main(void)
{

    int power, i;

    printf("Powers of 2:\n");
    for(i = 0; i < 30; i++)
    {
        power = pow(2,i);
        printf("2^%i = %i\n",i,power);
    }
    return 0;
}

顺便说一句,如果你想变得非常疯狂,你的打印声明可能就是这样 printf(&#34; 2 ^%i =%。0f \ n&#34;,i,pow(2,i));