tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von sheel
  • 1 Beitrag von ComFreek
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
316
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    kerstin1 kerstin1 ist offline Grünschnabel
    Registriert seit
    Feb 2012
    Beiträge
    3
    Hallo!

    Ich sollte durch überlegen herausfinden, welchen Output dieses Code-Fragment erzeugt und habe da meine Probleme.

    Folgender Output ist gegeben:

    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
     int doNonsens(signed char & a, int b)
    {
    static int i = 12;
    a= b +2;
    return a - i++;
    }
     
    int main ()
    {
    int i=0;
    signed char b = 20;
    for (; i<3; i++)
    std::cout<<static_cast<int>(doNonsens(b,i)) << std::endl;
    }

    Als Lösung sollte
    -10
    -10
    -10
    herauskommen.

    Leider hab ich in im Internet nicht sehr viel hilfreiches dazu gefunden und hoffe, dass ihr mir vielleicht helfen könntet, wie ich den Output des Codefragments am besten herausfinde.

    Ich danke euch schon mal im Voraus für eure Bemühungen.
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi und Willkommen bei tutorials.de,

    das ist Handarbeit.
    Befehl für Befehl durchgehen und aufschreiben,
    welchen Wert die Variablen (i, b, und das static int i in der Funktion) danach haben.
    Wenn du dich bei einem bestimmten Codeteil nicht auskennst: Welcher?
    kerstin1 bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    kerstin1 kerstin1 ist offline Grünschnabel
    Registriert seit
    Feb 2012
    Beiträge
    3
    Naja in Zeile 12 habe ich

    Code cpp:
    1
    
    for (; i<3; i++)
    Ich frage mich hier, was der ";" am Anfang bedeuten soll?

    Und in Zeile 13 findet ja eine Typumwandlung statt, aber ich weiß nicht wie ich diese Codezeile interpretieren soll. Der Rest dürfte eigentlich kein Problem sein. Aber da ich keine Ahnung habe, wie ich dies Typumwandlung anwende, komm ich auch nicht auf die Lösung.
     

  4. #4
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.358
    Blog-Einträge
    4
    Normalerweise schaut eine for-Schleife so aus:
    Code cpp:
    1
    2
    3
    4
    
    for ( Initialisierung; Bedingung; Aktion für jeden Durchlauf )
    {
      // ...
    }
    In diesem Beispiel wurde einfach eine Initialisierung einer Variablen ausgelassen.
    Du kannst auch so eine Endlosschleife (sofern kein "break" vorhanden ist) kreieren:
    Code cpp:
    1
    2
    3
    
    for ( ;; )
    {
    }

    Zum static_cast: Der ist hier eigentlich sinnlos, da doNonsens bereits ein int zurückgibt.
    kerstin1 bedankt sich. 
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  5. #5
    kerstin1 kerstin1 ist offline Grünschnabel
    Registriert seit
    Feb 2012
    Beiträge
    3
    Achso ja okay. Ich hatte irgendwie einen Denkfehler Bin jetzt nochmals alles Schritt für Schritt durchgegangen und bin nun auf die gesuchte Lösung gekommen. Danke.
     

Ähnliche Themen

  1. DOM Format Output
    Von port29 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 01.10.06, 12:03
  2. html output mit xsl
    Von Inspector im Forum XML Technologien
    Antworten: 0
    Letzter Beitrag: 22.10.05, 10:26
  3. PDF Output mit FOP
    Von squeaker im Forum Java
    Antworten: 6
    Letzter Beitrag: 15.07.04, 08:46
  4. Java In-/-output
    Von blablaxyz im Forum Java
    Antworten: 8
    Letzter Beitrag: 06.11.03, 20:42
  5. Codefragmente auf anderen PC kopieren
    Von aysha im Forum HTML-Editoren
    Antworten: 11
    Letzter Beitrag: 24.01.03, 13:30