Problem mit Call by Value



  • Hallo zusammen;

    ich bin anfänger und habe probleme mit der call by value methode.
    also ich habe eine einfache funktion schreiben die mir einen x belibigen winkel in ein bogenmaß (rad) umwandelt.

    double y1=0;
        y1=rad_converter(45);
    

    Hier die Funktion rad_converter

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    #include "bmp_lib.h"
    #define pi 3.1415926535897932394626
    
    int rad_converter(int degree)
    {
        double rad=0;
    
        rad=degree*(pi/180);
        return rad;
    }
    

    Die wertübergabe funktioniert nich, ich habe immer 0????



  • Der Typ der Rückgabe muss float oder double sein, dann klappt es (0.78 nach int gecastet ist 0).



  • _matze schrieb:

    Der Typ der Rückgabe muss float oder double sein, dann klappt es (0.78 nach int gecastet ist 0).

    rad ist doch double, in Zeile 10, oder??



  • in zeile 8 hängt auch der wurm drinne ;). Der Rückgabewert ist auch falsch.



  • rad schon, aber beim Zurückgeben des Wertes aus der Funktion wird es nach int gecastet. Probier mal so:

    double rad_converter(int degree)
    


  • ich danke euch alle für eure zeit und antwort
    schönen tag noch 😉


Log in to reply