2016-04-26 3 views
1
#define _CRT_SECURE_NO_WARNINGS 
#define NAME_LENGTH 10 
#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
double myFunc(double x) 
{ 
    double y = (pow(x, 3)) - (3 * (pow(x,2))) + 2; 
    return y; 
} 

int main() 
{ 
    double y = 3; 
    myFunc(y); 
    printf("%d \n", y); 
    system("pause"); 
    return 0; 
} 

Для меня это должна быть очень простая формула. Я не прошу его перепрыгнуть через многие обручи, но он выводит только «0» независимо от того, какое значение для «y» я даю.Простая логическая ошибка. Я уверен, вывод равен только 0 для моей математической формулы

Я использую Visual Studio 2013. Я навел указатель мыши на «y», и он сказал, что «y» равняется «2.0000» в функции, которая является правильным выходом для этого конкретного значения «y».

+0

Попробуйте использовать спецификатор формата% F. – ouflak

ответ

2

Назначить возвращаемое значение myFunc для y: y = MyFunc (y); И используйте формат% lf вместо% d.

+0

спасибо! Это решило! –