Bitte überprüfen Sie das folgende Programm.C Puzzle - Spiel mit den Typen
#include <stdio.h>
struct st
{
int a ;
}
fn()
{
struct st obj ;
obj.a = 10 ;
return obj ;
}
int main()
{
struct st obj = fn() ;
printf ("%d", obj.a) ;
}
Im Folgenden sind die Fragen
- Was ist die Ausgabe des Programms?
Wo ist ';' die Deklaration von 'struct st' beenden?
Nach ISO IEC 9899 - 1999 Spezifikation sollte die Deklaration enden mit einem ';'.
declaration-specifiers init-declarator-listopt ;
Wird die Erklärung des ‚struct st‘ genommen wird, was nur den Rückgabetyp von die Funktion ‚fn‘, wie ist es sichtbar auf andere Funktionen (Haupt-)?
Comeau beschwert sich über die fehlende geschrieben hatte; nach der Struktur und auch das Fn() hat keinen Rückgabetyp. – foraidt
Hausaufgaben? ;) Ich denke, die Ausgabe wäre 10, formatiert als Dezimal (ich nehme an, das ist, was% d bedeutet) – invert
Insbesondere heißt es: Zeile 3: Fehler: Typ-Definition ist nicht erlaubt in Funktion Rückgabetyp Erklärung – foraidt