Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
---- formale Sprachen (http://www.informatikerboard.de/board/board.php?boardid=12)
----- Funktion Zeiger auf eine Zeichenkette (http://www.informatikerboard.de/board/thread.php?threadid=1394)
Geschrieben von Karlito am 20.02.2013 um 16:14:
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
Geschrieben von Lycaner am 21.02.2013 um 07:54:
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.
Geschrieben von Karlito am 21.02.2013 um 10:35:
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
Geschrieben von Lycaner am 21.02.2013 um 14:49:
Ok. Alles verstanden. Danke.
Forensoftware: Burning Board, entwickelt von WoltLab GmbH