2015-09-27 5 views
-3

Вот мой код:Основные функции Производство Infinite Loop

#include <stdio.h> 
#include <math.h> 
int main(void) 
{ 
    double x, y, z; 
    double numerator; 
    double denominator; 
    printf("This program will solve (x^2+y^2)/(x/y)^3\n"); 
    printf("Enter the value for x:\n"); 
    scanf("%lf", x); 
    printf("Enter the value for y:\n"); 
    scanf("%lf", y); 
    numerator = sqrt(x) + sqrt(y); 
    denominator = pow((x/y),3); 
    z = (numerator/denominator); 
    printf("The solution is: %f\n", z); 
    return(0); 

} 

Может кто-нибудь дать мне (надеюсь) быстрый указатель, чтобы исправить мой бесконечный цикл?

+1

Вы должны прочитать в переменных через 'Scanf («% ЮФ», &x);' зсапЕ будет изменять значение переменных в программе, таким образом, вам всегда нужно передать ссылку на переменную в вашей функции. –

+1

'sqrt (x)' возвращает квадратный корень, а не квадрат. Используйте 'pow (x, 2)'. –

+6

В коде нет бесконечных циклов. у вас проблемы с обработкой * ввода *, скажем так ... –

ответ

0

Там нет петли в функции, так что я думаю, что звонки на scanf(), которые вызывают ошибку:

Вам нужно передать ссылку на scanf(), т.е. использовать scanf("%lf",&x) вместо scanf("%lf",x).

BTW, в соответствии с вашим определением определения, вы должны использовать pow(x,2) вместо sqrt(x), который возвращает квадратный корень.

0

Поскольку это ваш первый вопрос

**Welcome to stack overflow** 

Ваш код оленья кожа идти в бесконечный цикл, есть ошибка во время выполнения. Ваш зсапЕ кодекс несовершенен использование этого:

scanf("%lf",&x); 
scanf("%lf",&y); 

вы хотите зсапЕ изменить значение, содержащееся в поле адреса value.Please прочитать учебники.

использовать также

numerator=pow(x,2) + pow(y,2);//numerator=x^2+y^2 
0

Это не бесконечный цикл, код просто возвращает бесконечность. И это потому, что scanf() нуждается в указателе на переменную, где он должен поместить номер чтения. Чтобы получить адрес переменной можно использовать & оператор вроде этого:.

scanf("%lf", &x); 
scanf("%lf", &y);