Frage zu Programmierlogik

Gast #1660659
Lesenswert?

Hallo Leute,

ich habe hier ein Logikproblem. Ich gebe zu...ich bin nicht gerade der 
Cheflogiker...

Ich habe folgende Funktion:

bit ReadASC_Flag(void)
{
  return ASC_Flag;
}


welche mir das ASC_Flag zurückgibt....und diese Funktion:

while(!ReadASC_Flag());
sprintf(cBuffer,"Text: %3.3f",fGetText());
DozPrintZ(3, cBuffer);


Whenn ich nun debugge, sehe ich, daß wenn ASC_Flag=0 ist, daß die 
Bedingung nicht erfüllt ist, und somit das sprintf nicht ausgefürht 
wird.

Irgendwie verstehe ich das nicht. Wenn ASC_Flag=0 ist, müßte die 
Bedinung doch erfüllt sein, weil das "!" den Ausdruck doch negiert !?

Irgendwie check ich das gar nicht und wäre sehr dankbar wenn es mir 
jemand erklären könnte.

DANKE
Gast #1660680
Lesenswert?

Andreas Kaltenegger schrieb:
> wenn so eine Frage hier nicht mehr erlaubt
> ist.

Wer sagt das so eine Frage nicht erlaubt ist?

Aber in Deinem Fall machen wir mal eine Ausnahme: Fragen auf deren 
Antwort Du mit ein bisschen Grips und lesen eines C-Buches kommen 
könntest, sind Dir persönlich, Andreas Kaltenegger, in diesem Forum 
künftig verboten.
Gast #1660693
Lesenswert?

Andreas Kaltenegger schrieb:
> Wer bist du denn, daß du hier Verbote erteilen könntest

Sag' mal, liest Du eigentlich selbst was Du schreibst?

> wenn so eine Frage hier nicht mehr erlaubt
> ist.

Niemand hat Dir solche Fragen verboten.
Gast #1660697
Lesenswert?

Hast du eigentlich am Karsamstag nichts besseres zu tun als auf Fragen 
anderer nutzlose Kommentare zu spammen ?

Wenn du es weist aber es nicht sagen möchtest (Fräulein...der Andreas 
hat meine Sandburg angepinkelt) dann gib einfach mal Ruhe und freue dich 
doch über deine unendliche Weisheit :)

Ich spam ja andere Beiträge auch nicht zu!
Gast #1660720
Lesenswert?

Da haben wir aber gelacht :)



Wenn du wirklich so viel Ahnung hättest wie du hier vortäschst und die 
Frage gelesen hättest wäre dir hier was aufgefallen

"Irgendwie verstehe ich das nicht. Wenn ASC_Flag=0 ist, müßte die
Bedinung doch erfüllt sein, weil das "!" den Ausdruck doch negiert !?"

Kannst dir zukunftige Antworten sparen. Ist ja echt schade um den 
Speicherplatz.
Gast #1660734
Lesenswert?

Hi Frank,

danke für die Antwort. while(1==1); wäre somit eine Endlosschleife. Das 
läßt den Code gleich in einem ganz anderen Licht erscheinen :)

Es ging zwar um die Bedinung while(!Ausdruck) was aber anscheinend 
nichts anderes bedeutet als while (Ausdruck!=0).
#1660735
Lesenswert?

Andreas Kaltenegger schrieb:

[...]
> "Irgendwie verstehe ich das nicht. Wenn ASC_Flag=0 ist, müßte die
> Bedinung doch erfüllt sein, weil das "!" den Ausdruck doch negiert !?"
[...]

Ist sie ja auch. Solange ASC_Flag==0 dreht die while-Schleife Däumchen. 
Wenn ASC_Flag != 0 wird die SChleife verlassen und der nachfolgende 
Code, der sich außerhalb der Schleife befindet, ausgeführt.


Gruß
f
#1660736
Lesenswert?

Frank Lorenzen schrieb:
> Obacht! Vielleicht soll while ja seine einsamen Runden drehen solange
> ReadASC_Flag() mit 0 zurückkommt.

Das werden wir wohl nie erfahren, weil der OP ja krampfhaft bemüht ist, 
von einem Fettnäpfchen ins nächste zu treten.

Wenn man was falsch kopiert hat, könnte man es einfach nochmal richtig 
posten.
Wenn darauf hin jemand geantwortet hat, besteht keinerlei Grund, ihn zur 
Schnecke zu machen.
Generell macht man keinen zur Sau, wenn eine Antwort nicht zutrifft.


Wobei ich mich frage, wie man etwas falsch kopieren kann.
Schließlich weiß ja jedes Kind, daß man Quelltextfragen nie aus dem Kopf 
nachschreibt, sondern immer per copy&paste einfügt.


Peter
#1660739
Lesenswert?

Andreas Kaltenegger schrieb:
> Hi Frank,
>
> danke für die Antwort. while(1==1); wäre somit eine Endlosschleife. Das
> läßt den Code gleich in einem ganz anderen Licht erscheinen :)

So ist es. Es ist eine Endlosschleife mit leerem Rumpf.

> Es ging zwar um die Bedinung while(!Ausdruck) was aber anscheinend
> nichts anderes bedeutet als while (Ausdruck!=0).

(!Ausdruck) bedeutet (Ausdruck == 0)


Gruß
f
Gast #1660742
Lesenswert?

Wie du vielleicht eben bemerkt hast war nichts falsch kopiert :)

Der Code steht genau so da !

Wer aber dann "Grips" für sich beansprucht und Weise Ratschläge erteilt 
wie grrr ohne das was Frank sagt selbst verstanden zu haben sollte halt 
einfach nicht antowrten.
Gast #1660749
Lesenswert?

Danke für den Hinweis Frank.

Gott sei Dank daß es noch Leute gibt, die ohne erhobenem Zeigefinger 
weiterhelfen und schon mal C-Bücher gelesen haben in denen das mit dem 
Strichpunkt steht :)

Danke Dir !
Gast #1660763
Lesenswert?

Andreas Kaltenegger schrieb:
> schon mal C-Bücher gelesen haben in denen das mit dem
> Strichpunkt steht :)

Ja. Und jeder Zusammenhang mit meiner ersten Antwort

Grrrr schrieb:
> Entferne das Semikolon nach der while-bedingung!
> Lies ein C-Buch.

ist rein zufällig. Schon klar.
#1660767
Lesenswert?

Andreas Kaltenegger schrieb:
> Strichpunkt steht :)

Nicht im C Buch aber dafür im Duden: Ausrufezeichen :P :D

> Aus|ru|fe|zei|chen, das: Satzzeichen, das nach Ausrufe-, Wunsch- u.
> Aufforderungssätzen sowie nach Ausrufewörtern steht.

Auch wenn manche hier im Forum denken sie wären Götter mit Kitteln, 
rechtfertigt das noch lange nicht deinen Aggressiven Umgangston Andreas. 
Du hättest Grrrr doch auf den von dir, nunja, doch eher untypisches 
Schleifenverhalten hinweisen können. Da muß man nicht gleich mit einem 
Paket Feindseligkeit losstürmen.

Denn so wie man in den Wald hineinruft, ruft es immer wieder her raus!
Gast #1660772
Lesenswert?

Hallo Rene,

daß das mit dem Strichpunkt so geht wie es geht wurde mir erst durch den 
Hinweis von Frank klar !!!

Eigentlich ging es mir von Anfang an um den Ausdruck while(!Bedingung) 
auf was Herr grrr aber niemals einging, um seine Dampfblasen ablassen zu 
können.

Bei sowas werd ich stocksauer. Man schaue sich einfach mal seinen 
zweiten Kommentar an. Wenn sich nun auch noch herausstellt (ich 
zumindest lerne noch gerne etwas dazu) daß das durchaus Sinn macht, 
kommt dieser Kommentar echt witzig daher :)
Gast #1660788
Lesenswert?

> daß das mit dem Strichpunkt so geht wie es geht wurde mir erst durch den
> Hinweis von Frank klar !!!

Ich sach jetzt nich "Hätteste mal ein C-Buch gelesen, weil da steht das 
im ersten Kapitel 'Syntax' drin".

SCNR

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren