2013-04-06 6 views
1

Каждый раз, когда я создаю и запускаю файл проекта, он падает после взаимодействия с ним.Codeblocks project.exe перестает работать C

#include <stdio.h> 

int main() 
{ 
    float complexnumber, a, b, r, j, theta; 

    j = -1; 
    complexnumber = a+b*j; 

    printf ("Please enter intput A and B in the form of a+bj\n"); 

    printf ("Input A:"); 
    scanf ("%f" , a); 

    printf ("Input B:"); 
    scanf ("%f" , b); 

    theta = atan (a/b); 
    printf ("Theta=\n" , theta); 

    r = sqrt (pow(a, 2) + pow(b , 2)); 
    printf ("R=\n" , r); 

    return 0; 
} 

Любая помощь очень ценится

+0

Это позор 'scanf' не может обеспечить правильные типы. – chris

+2

Почему у вас есть строка 'complexnumber = a + b * j', когда' a' и 'b' обе неинициализированы? Когда вы говорите «когда я с ним взаимодействую», о чем вы конкретно говорите? Какие значения вы вводите? –

ответ

1
scanf ("%f" , a); 

scanf нужен указатель на переменную он должен заполнить, так что должно быть

scanf ("%f" , &a); 

и аналогично для b.

1

Возможно, было бы неплохо включить заголовочный файл <math.h>.

Ваше printf() заявление

printf ("Theta=\n" , theta); 

выглядит неправильно,

должно быть,

printf ("Theta=%f\n" , theta); 

Аналогично,

printf ("R=%f\n" , r); 

Ваш scanf() утверждение также неправильно, он должен быть

scanf("%f",&a); 

Линия complexnumber = a+b*j; присвоит значение для мусора complexnumber и как a и b не инициализированы.

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