Funktion Zeiger auf eine Zeichenkette |
Karlito
Kaiser
Dabei seit: 11.04.2011
Beiträge: 1.461
|
|
Hallo,
Zitat: |
Original von Lycaner
Tja, jetzt bin ich etwas verwirrt, eigentlich macht die Funktion nichts und die gibt nur ein Zeichen aus, weil man in printf %c und nicht %s benutz. |
Das hast du falsch verstanden! %c gibt das Ascii-Zeichen zu einem 8-Bit-Wert zurück. Du könntest auch
printf("%c\n", 0x41); schreiben. Das Würde dann einfach ein "A" ausgeben. Es ist also abhängig von einem Konkreten Wert.
%s hingegen nimmt einen Zeiger entgegen und liest ab der Adresse des Zeigers die Werte Byteweise aus dem Speicher und stellt diese als Zeichenkette dar bis es auf den Wert 0 trifft.
Zitat: |
Original von Lycaner
Mit der Funktion kann man nur den erste Buchstaben ausgeben und nur einen Buchstaben. Ich dachte muss eine Funktion schreiben, die auch in der Lage ist beliebiges Zeichen aus der Zeichenkette auszugeben.
|
Nicht laut der Aufgabenstellung die du geschickt hast... Vlt hast du nicht die gesamte Aufgabenstellung geschickt?
Um das Verständnis zu verbessern könntest du ja mal rausfinden, wie du das ein beliebiges Zeichen ausgeben kannst, aber ohne die Funktion xy zu verändern. Dazu musst du den Wert des Zeigers (Die Adresse), den Du an xy übergibst, verändern.
Zitat: |
Original von Lycaner
Kurze Frage am Rande !k ist immer null oder? |
Woher nimmst du !k?
VG,
Karlito
|
|
20.02.2013 16:14 |
|
|
Lycaner
Eroberer
Dabei seit: 17.02.2013
Beiträge: 56
|
|
Es war die gesamte Aufgabenstellung.
!k ist aus einer anderen Aufgabe. Ich bereite mich für eine Klausur vor und rechne die alte Klausuren durch. Deswegen habe ich auch so viele Fragen und nicht so viel Zeit, das selber aus den Büchern oder Google zu erarbeiten, obwohl es für die Klausur besser wäre.
|
|
21.02.2013 07:54 |
|
|
Karlito
Kaiser
Dabei seit: 11.04.2011
Beiträge: 1.461
|
|
OK.
Welchen Wert !k annimmt, hängt davon ab, welchen Wert k vorher hatte. Für k = 0 ist !k = 1 und für alle anderen Werte ist !k = 0.
VG,
Karlito
|
|
21.02.2013 10:35 |
|
|
Lycaner
Eroberer
Dabei seit: 17.02.2013
Beiträge: 56
|
|
Ok. Alles verstanden. Danke.
|
|
21.02.2013 14:49 |
|
|
|