Forum: Offtopic Teste dein C/C++/.. Können


von Μαtthias W. (matthias) Benutzerseite


Lesenswert?


von Thomas (Gast)


Lesenswert?

Echt krass! Da wird einem ja Angst und Bange, da werden Fragen gestellt,
die man im echten Leben nie treffen sollte, wenn gefälligst die
unmöglichsten, aber leider technisch möglichen Konstrukte weggelassen
werden würden ;-) (c++)

von Sebastian (Gast)


Lesenswert?

74% bei C. Naja mit schummeln wäre es mehr gewesen :)

von A.K. (Gast)


Lesenswert?

Gibt's einen Weg, mit dem mehr als der Wert "93%" rauskommt? Wär
schon schon, zu wissen, was man falsch gemacht hat.

von A.K. (Gast)


Lesenswert?

Apropos falsch: Kann mir jemand C++ Frage 11 erklären? Vielleicht habe
ich ja was verpasst, aber mein letztere Stand ist, dass Klammern kein
"sequence point" sind, folglich 2 Ergebnisse möglich sind.

von Bri (Gast)


Lesenswert?

@Thomas

Kennst du aus der boost Bibliothek z.B. das spirit parser framework?
(www.boost.org)

Da ist der C++ Test doch ziemlich harmlos ;-)

von Karl H. (kbuchegg)


Lesenswert?

> Kann mir jemand C++ Frage 11 erklären?

Wie war denn Frage 11?
Hab's grad nochmal probiert, aber da tauchen anscheinend
bei jedem Durchlauf andere Fragen auf.

Du hast aber auf jeden Fall Recht: Klammern sind
keine Sequence Points (sofern es sich nicht um
die Klammern um die Argumentliste eines Funktions-
aufrufes handelt).

von D. W. (dave) Benutzerseite


Lesenswert?

Ok, nach der 2ten Frage isch hier Schluss...

Assembler ist da viel einfacher.

von A.K. (Gast)


Angehängte Dateien:

Lesenswert?

Frage 11 anbei - sind bei mir auch im 3. Durchlauf immer noch die
gleichen Fragen.

von Christoph _. (chris)


Lesenswert?

Würde ich auch sagen: Undefiniertes Verhalten, weil ein sequence point
fehlt.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

Wo seht ihr da zusätzlichen Bedarf an einem sequence point? Das
Verhalten ist IMHO absolut definiert und a = 1.

Matthias

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

81% bei C. Aber der Test ist schwer...

Ich hatte aber meiner Meinung nach einen Fehler im Test. Da wurde nach
der Anweisung für ein 'logical or' gefragt, aber die Auswahl || gab
es nicht, nur or, |, ^, & und nochwas sinnloses. Oder habe ich da
irgendwas verpasst?

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

kam bei mir auch. Allerdings war die Frage welches char man verwendet
für ein logical or. Und da ist | durchaus richtig. Man braucht halt
zwei davon.

Matthias

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Oh, ok. So um die Ecke gedacht habe ich dann nicht. Aber hatte natürlich
trotzdem | genommen, da der Rest sinnlos war.

C++ jetzt auch 80%, obwohl ich dachte, dass mehr falsch ist.

Zu Frage 11: Wird das b++ erst nach dem gesamten Ausdruck ausgeführt?

von Bartli (Gast)


Lesenswert?

C : 96%
C# : 81%

C++ probier ich gar nicht erst :D

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

b++ erhöht b zum nächsten sequence point um eins und liefert b zurück.
--c verringert c zum nächsten sequence point um eins und liefert c-1
zurück.

Matthias

von A.K. (Gast)


Lesenswert?

@Matthias: Nach dieser These wäre
   char *p;
   int a = *p++ - *p++;
definiert als äquivalent zu
   char *p;
   int a = *p - *p;
   p += 2;
Stimmt so aber nicht.

Der Spruch geht anders: "b++ erhöht b spätestens zum nächsten
sequence point um eins". Oder irgendwann vorher.

von Karl H. (kbuchegg)


Lesenswert?

@Matthias

Das Verhalten ist undefiniert.
Du darfst eine Variable in einem Ausdruck nur entweder
  * immer lesen
  * oder nur einmal veraendern. In dem Fall muss die
    Veraenderung aber die einzige Aktion sein, die auf
    die Variable ausgefuehrt wird.

In C++ - speak lautet das so:

5 Expressions

5.4 Except where noted, the order of ...
    Between the previous and next sequence point a scalar object
    shall have its stored value modified at most once by the
    evaluation of an expression. Furthermore, the prior value
    shall be accessed only to determine the value to be stored.

von Unbekannter (Gast)


Lesenswert?

Ups, nur 96% bei C geschafft. Schade, dass keine Auswertung kommt damit
ich sehen könnte, wo ich mich verklickt habe...

von Unbekannter (Gast)


Lesenswert?

Uh, und bei C++ mit 90% geloost... Bin wohl etwas eingerostet...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.