seltsame Abarbeitung des printf(); ?Hi

Gast #2376566
Lesenswert?
• ▲
▼
Hi zusammen,

ich habe hier ein kleines Testprogramm welches folgende Ausgabe liefert: 
komisch!Das ist aber 55

Ich hätte den normales Satz "Das ist aber komisch" erwartet und selbst 
die 55 nicht mehr.
Kann mir einer kurz erklären oder aufs Pferd helfen warum die 
übergebenen Parameter für printf() in dieser Reihenfolge abgearbeitet 
werden?

Das ganze ist ein Code für C++, weil auf dem PC probiert, müsste doch 
aber in unserer AVR-Welt genauso laufen, oder?

Danke danke :)




int test(void);

void _tmain(int argc, _TCHAR* argv[])
{

  printf("Das ist aber %d",test());

}

int test(void){

  printf("komisch!");

  return 55;
}
Gast #2376600
Lesenswert?
• ▲
▼
Hey, danke für die schnellen Reaktionen!

Ok, bei Aufruf einer Funktion werden innerhalb der Parameter vorhandene 
Funktionen ausgeführt.

Und die 55 schreibt er hinterher weil eine Dezimalzahl (%d) folgen soll 
und als "Quelle" test() verwendet werden soll, also dessen Rückgabewert?


Aber wenn ich das %d und test() aus dem printf()-Aufruf entferne wie 
hier liefert er nur noch "Das ist aber".
Warum? Führt C in diesem Fall test() nicht mehr beim Funktionsaufruf 
auf, weil er merkt das es innerhalb der Funktion nicht mehr gebraucht 
wird?



int test(void);

void _tmain(int argc, _TCHAR* argv[])
{

  printf("Das ist aber ");

}

int test(void){

  printf("komisch!");

  return 55;
}
Markierten Text zitieren | Antwort |

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.