Problemchen mit min()



  • ...soll heissen ich habe nicht die benötigte Bibliothek eingebunden?!
    Wenn ich mich recht erinnere gab es doch eine Bib., in der eine entsprechende Funktion implementiert war?!



  • mango123 schrieb:

    ...soll heissen ich habe nicht die benötigte Bibliothek eingebunden?!

    Ja, das soll es heißen. Aber auf Anhieb bin ich nicht sicher, welche LIB du noch brauchst.

    *nachdenkt* Eigentlich ist min() doch irgendwo als Makro definiert:

    #define min(x,y) (((x)<(y))?(x):(y))
    


  • Also ich hab mal folgende Lib's reingepackt; leider ohne Erfolg:

    #include <assert.h> 
    #include <complex.h> 
    #include <ctype.h> 
    #include <errno.h> 
    #include <fenv.h>  
    #include <float.h> 
    #include <inttypes.h> 
    #include <iso646.h>  
    #include <limits.h>  
    #include <locale.h>  
    #include <math.h>  
    #include <setjmp.h>  
    #include <signal.h> 
    #include <stdarg.h> 
    #include <stdbool.h>  
    #include <stddef.h>  
    #include <stdint.h>  
    #include <stdio.h>  
    #include <stdlib.h>  
    #include <string.h>  
    #include <tgmath.h>  
    #include <time.h>  
    #include <wchar.h>  
    #include <wctype.h>
    


  • Du hast nicht eine einzige Lib eingebunden, sondern lauter Header. Libs gibt man beim Binden an.



  • Naja aber mit den Headern wird doch der Zugriff auf dort implementierte Funktionen und Methoden gewährleistet, oder erinner ich mich da falsch?
    (Meine c-Künste sind leider ein wenig eingerostet)

    Gut, ich muss ja auch nicht unbedingt auf eine vordefinierte Funkion zurückgreifen; obwohl ich mir fast sicher bin, dass es diese gibt...
    Aber definiere mir auch gern was selber...

    Weiss jemand, wie man das mit dem Minimum bewerkstelligt?



  • Nein, das stimmt so nicht...
    Die Lösung zu deiner Frage hat CStoll doch schon beantwortet:

    #define min(x,y) (((x)<(y))?(x):(y))
    


  • <EDIT>
    Schwachsinn gelöscht

    Der gesuchte Header müsste doch stdlib.h sein.

    </EDIT>



  • Ich wüsste nicht dass es in Standard-C sowas gibt.
    In C++ gibts std::min in algorithm.

    Mit den Headern holst Du Dir die Interfaces ins Programm, nicht die Bibliothek. Sonst wären die Header wohl auch ein bissl größer. Die Implementierung liegt irgendwo fertig compiliert als Bibliothek.



  • Christoph K. schrieb:

    Der gesuchte Header müsste doch stdlib.h sein.

    Das wäre mir neu.



  • Es wäre mir neu, wenn der ANSI-Standart so was vorgeben würde... Aber man lernt ja nie aus ^^


Anmelden zum Antworten