tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
430
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    vektor123 vektor123 ist offline Grünschnabel
    Registriert seit
    Dec 2011
    Beiträge
    1
    Hallo alle zusammen,
    ich kann die Fehler im Code nicht erkennen, kann mir jemand helfen?
    Code1:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    #include <stdio.h>
     
    int abs(int x)
    {
        return((x>0)?x:-x);
    }
     
    main()
    {
        int x =3, y = -9, z = 7;
        long abc;
        abc=abc(abc(x*y)*z);
        printf("Der %s von %d*%d*%d ist %f.",
               "Betrag", x, y, z, abc);
    }
    und Code2: soll den gerundeten Zahlenwert von Wurzel 2 (Quadratwurzel aus 2)ausgeben, leider ergibt sich ein völig unsinniger Wert:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    
    #include <stdio.h>
    main()
    {
        double wurzelZwei;
        wurzelZwei=sqrt(2.0);
        printf("Wurzel 2:  %3.2lf\n", wurzelZwei);
    }

    Vielen Dank
    Geändert von sheel (20.12.11 um 08:50 Uhr) Grund: Codetags
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von vektor123 Beitrag anzeigen
    Hallo alle zusammen,
    ich kann die Fehler im Code nicht erkennen, kann mir jemand helfen?
    [U]Code1:
    Wie äußert sich denn der Fehler? Wie ist denn die Funktion abc definiert? Kann es sein, das du abs meintest?
    Zitat Zitat von vektor123 Beitrag anzeigen
    und Code2soll den gerundeten Zahlenwert von Wurzel 2 (Quadratwurzel aus 2)ausgeben, leider ergibt sich ein völig unsinniger Wert:

    Code c:
    1
    2
    3
    4
    5
    6
    7
    
    #include <stdio.h>
    main()
    {
        double wurzelZwei;
        wurzelZwei=sqrt(2.0);
        printf("Wurzel 2:  %3.2lf\n", wurzelZwei);
    }
    Ich erhalte folgende Warnungen vom Compiler:
    Code :
    1
    2
    3
    4
    
    wurz2.c:3:1: Warnung: Rückgabetyp ist auf »int« voreingestellt [-Wreturn-type]
    wurz2.c: In Funktion »main«:
    wurz2.c:6:3: Warnung: Implizite Deklaration der Funktion »sqrt« [-Wimplicit-function-declaration]
    wurz2.c:6:14: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »sqrt« [standardmäßig aktiviert]
    Übersetzung:

    Die sqrt Funktion ist offenbar nicht deklariert!

    Deshalb nimmt der Compiler an, das der Rückgabetyp int ist!

    Der Compiler weiß, das es eine Funktion sqrt gibt, diese allerdings den Rückgabetyp double besitzt.

    Ergo: Du hast vergessen math.h einzubinden.
    Code c:
    1
    
    #include <math.h>
    Bitte verwende die Code-Tags für deine Codeschnipsel!

    \edit: Der Rückgabetyp von main muß int sein.

    Bei printf gibt es kein %lf Format, nur bei scanf.

    Gruß
    Geändert von deepthroat (20.12.11 um 08:13 Uhr)
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    Code 1): Du hast vorne einen %s Platzhalter, aber keine String-Variable angegeben.
     

Ähnliche Themen

  1. Fehler im Code
    Von Angelika_25 im Forum .NET Café
    Antworten: 3
    Letzter Beitrag: 26.06.08, 19:00
  2. Fehler im Code - wo?
    Von piano im Forum PHP
    Antworten: 2
    Letzter Beitrag: 12.08.07, 14:06
  3. Fehler im Code...
    Von SonMiko im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 23.11.06, 15:04
  4. Antworten: 6
    Letzter Beitrag: 06.06.05, 16:58
  5. PHP Code Fehler ?
    Von defenderdeLuXe im Forum PHP
    Antworten: 2
    Letzter Beitrag: 21.09.04, 19:09

Stichworte