2014-10-28 3 views
0

Может ли кто-нибудь сказать мне, почему я не могу это сделать?Функция Pow() для цикла в C

Он не компилируется, я знаю, что я должен быть чем-то не прав.

Я пытаюсь напечатать полномочия 2, но я просто не могу этого сделать.

Может ли кто-нибудь мне помочь? Это код, который я написал. Я использую gcc для linux.

#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

Как задать хороший вопрос: заменить * Он не скомпилирует * с фактической ошибкой компиляции. И на этот вопрос вы использовали '-lm'? –

+1

Скомпилировать с использованием '-lm' –

+3

У всех проблемы с pow: P – P0W

ответ

4

gcc foo.c -lm -o foo

вы должны собрать как это. 'm' is math lib

+0

Это сработало, спасибо вам большое. – kurupi13

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; 
} 

Btw, если вы хотите получить действительно сумасшедшие, ваша печать Постулаты может быть только
Е ("2 ^% г =% .0f \ п", я, Пау (2, я));

Смежные вопросы