printf Befehl

Hier landen Posts, die keine Wissensfrage erhalten, sondern einen Dummen suchen.
Antworten
konastuff
Beiträge: 1
Registriert: Di Aug 25, 2015 1:12 pm

printf Befehl

Beitrag von konastuff » Di Aug 25, 2015 1:23 pm

Hallo ich habe ein Problem bei einer Aufgabe in meinem Studium:

Welche Ausgabe erzeugt das folgende Programm, warum? Wie läuft dieses Programm ab,
mit welchen Parametern wird die Funktion xxx jeweils gerufen?

Code: Alles auswählen

#include <stdio.h>
void xxx (int b, int z)
{if (z>0) {
xxx (b,z/b);
printf („%d “,z%b);
}
}
void main ()
{int p1=8, p2=199;
xxx (p1,p2);}
Ich weiß vorallem nicht was

Code: Alles auswählen

printf („%d “,z%b);
macht.

Vielen Dank schon mal.
Edit by cloidnerux: Code-tags repariert

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: printf Befehl

Beitrag von cloidnerux » Di Aug 25, 2015 2:03 pm

Hi und Willkommen im Forum.

Ich habe das Thema mal in das dafür vorgesehene Unterforum verschoben.

Zu deinem Problem:
Wir haben eine kleine Dokumentation zu printf: https://www.proggen.org/doku.php?id=c:lib:stdio:printf
Ansonsten gibt es auch genug im Internet dazu.
Bei printf wird zuerst ein Text(string) angegeben, der neben reinem Text auch Platzhalter für Variablen beinhaltet. Ein solcher Platzhalter wird mit dem "%" eingeleitet, der Buchstabe danach gibt an, welcher Typ die Variable haben soll, die das "%d" ersetzten soll, d steht für "Dezimal", also Ganzzahl. Die variablen werden dann per Komma separiert dahinter angegeben. Damit wird das "%d" durch den Ausdruck z % b ersetzt. Dabei musst du beachten, dass das % außerhalb von Text im code als Modulo-Operator verwendet wird, dieser gibt den Rest einer ganzzahligen Division wieder.

Code: Alles auswählen

printf („%d “, z % b);
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten