Member 13378876 Ответов: 2

Что не так с этим кодом C ?


Я использовал утверждение силы. Но это не работает нормально, потому что всякий раз, когда я набираю (после компиляции), что 5 повышается до степени 2, это должно быть 25 математически. Но он показывает 24. Почему это так? Он прекрасно работает, когда я сделал 2 поднял до мощности 3=8.....

Что я уже пробовал:

#include <stdio.h>
#include <math.h>
int main ()
{
    int a,b;
    printf ("Enter any value.\n");
    scanf ("%d",&a);
    printf ("Enter the number to which it should be raised.\n");
    scanf ("%d",&b);
    int num;
    num=pow(a,b);
    printf ("The result is %d",num);
    return 0;
}

2 Ответов

Рейтинг:
2

Richard MacCutchan

Как уже сказал вам Мехди: Вы объявили num как int типа, но так и должно быть double Если вы сомневаетесь, используйте Google, чтобы найти документацию для pow() функция.


Рейтинг:
1

Mehdi Gholam

pow() возвращается double, начать здесь : Функции библиотеки C военнопленных()[^]


Member 13378876

не могли бы вы прислать мне точный код?

Mehdi Gholam

num должен быть двойным а не int

Member 13378876

Братан, просто скопируй вышеописанный код, внеси в него изменения и копируй обратно сюда.

Dave Kreskowiak

Это очень грубо с вашей стороны. С каких это пор мы здесь, чтобы делать за тебя твою работу?