Variablenübernahme
-
Hallo!
Ich habe folgendes Problem:
Habe zwei Quelldateien, in der einen wird eine Variable im char-Format eingelesen.#include <stdio.h> #include <stdlib.h> char x; int main() { printf("Bitte geben Sie ein Zeichen ein: "); scanf("%s", &x); zweig(); system("PAUSE"); return 0; }
In der anderen Datei soll diese Variable auf den Bildschirm gebracht werden.
#include <stdio.h> #include <stdlib.h> char x; void zweig() { printf("%s\n", x); }
Ist diese Variable vom Typ int, so funktioniert dies reibungslos, jedoch nicht, wenn diese vom Typ char ist.
Wo liegt mein Fehler?
MfG
-
Mach mal anstatt
%s
das:
%c
-
Habe ich jetzt verändert, wird allerdings nur der erste Buchstabe übernommen... wie kann ich ein endlich begrenztes Wort übernehmen?
-
Problem hat sich gelöst, danke!
-
PS.: SYSTEM BÖSE!
(@GoodBoy: siehe system("pause");)
nimm doch
getch();
!!! (wie oft soll man das noch sagen, bzw sagen hören?!)
-
chille07 schrieb:
PS.: SYSTEM BÖSE!
Warum? Hab bis jetzt noch keine wirklich schlüssige Begründung gehört. Es ist unelegant, unportabel und unprofessionell, ja. Aber es ist nicht gefährlich oder böse.
nimm doch
getch();
!!! (wie oft soll man das noch sagen, bzw sagen hören?!)
getch ist auch nicht portabel.
-
system führt nicht immer einen befehl aus.. es öffnet auch dateien (wie du auch weisst!) und es zieht (so bei mir jedenfalls) eine Datei einem Befehl vor.
also, wenn jetzt im selber verzeichnis eine datei namens "pause.bat" WÄRE...
viel spass!*gg*mfG (c)h
-
chille07 schrieb:
system führt nicht immer einen befehl aus.. es öffnet auch dateien (wie du auch weisst!) und es zieht (so bei mir jedenfalls) eine Datei einem Befehl vor.
Kann ich hier nicht nachvollziehen -- interne Befehle haben Priorität (DJGPP/Win2K) --, bei welchem Compiler ist das denn so?
-
Ich glaub nicht, dass das vom Compiler abhängt, sondern eher vom Betriebssystem, was zuerst ausgeführt wird.
-
Na dann ... PAUSE gibts eh nur unter DOS/Windows, dass es unportabel ist, ist ja bekannt.