Welcher Teil dieses C-Codes fehlt oder muss geändert werden?

8

Für meine Aufgabe muss ich fehlende Teile des C-Codes unten ausfüllen. Ich bin mir jedoch nicht sicher, welche Teile fehlen oder welche Teile ich ausfüllen muss. Ich habe einen Beispielzusammenstellungscode, den dieser Code erzeugt, aber ich weiß nicht, welche Teile ich ändern muss, um mein erwartetes Ergebnis zu erhalten. Ich suche nur nach Klärung.

%Vor%

Andere Punkte:

  • Es kann Fälle geben, die in C geschrieben werden sollten Code mit einem Durchgriff
  • Der Code zeigt eine Verzweigung für einen Aufzählungstyp in einem Switch an Erklärung. (Frage: Was genau bedeutet das in einfachen Worten? Mein Professor hat eine komplexe Definition geliefert, die ich nicht verstehe.)

Beispielcode für Assemblercode:

%Vor%     
Jaden 31.03.2016, 07:10
quelle

2 Antworten

8

Da es sich um eine Aufgabe handelt, werde ich Ihnen den Code nicht geben. Aber hier ist eine Erklärung über diese 2 Punkte.

A switch() case kann allgemein als Block wie folgt angesehen werden:

%Vor%

Jede if ist eine Verzweigung und in Ihrem Fall hängt jede Verzweigungsbedingung von einem Enum-Wert ab. Das sollte die Frage branching on an enumerated type value in a switch statement beantworten.

Ich habe "allgemein" geschrieben, weil ein switch case eher ein asm jump if equals ist. Sobald der richtige case erreicht ist, wird der gesamte folgende Code ausgeführt, sogar der Code in den nächsten case -Anweisungen. Sie müssen damit umgehen, indem Sie den Block switch programmgesteuert anhalten (Sie brechen ihn entweder oder kehren zurück). Das ist für den fall-through -Punkt.

Sie können viele Seiten finden, die erklären, wie ein switch case funktioniert.

Nun müssen Sie jedes case mit der korrekten Implementierung füllen - es scheint sich um Permutationen zu handeln.

    
jhamon 31.03.2016 07:35
quelle
6

Es ist nicht wirklich klar. Aber von dem, was ich verstehe, stellte der Professor einen Assemblercode und einen C-Code bereit Ich denke, er möchte, dass Sie den C-Code auf diese Art und Weise erweitern, dass das Zusammenstellen einen Assembler-Code erzeugen würde, der dem von ihm bereitgestellten ähnelt.

Ich hoffe, ich habe es nicht vermasselt (ich habe große Probleme beim Lesen der AT & amp; T-Syntax), aber für mich sieht das so aus:

%Vor%

"Es kann Fälle geben, die im C-Code mit einem Durchschlag geschrieben werden sollten" für mich ist das ein Hinweis darauf

%Vor%

sollte geschrieben werden und nicht

%Vor%

(das hätte das gleiche Ergebnis), selbst wenn der Compiler eine andere Bezeichnung dafür gewählt hat

    
Tommylee2k 31.03.2016 08:33
quelle

Tags und Links