wieso kommt ein fehler beim kompilieren?

...komplette Frage anzeigen

5 Antworten

Ein Tipp:
immer mit dem ersten Fehler anfangen, weil die anderen oft Folgefehler sind.

In Deinem Besipiel sind es die vergessenen Gänsefüsschen im print-string. Dadurch wird der Rest (bis zum nächsten Gänsfüsschen) als String-Konstante interpretiert, und der nachfolgende Code natürlich unsinnig (der nächste print-String wird dann als Anweisungen interpretiert, was natürlich nur Mist ergibt. So kommen die weiteren Fehlermeldungen, die aber verschwinden, wenn der 1. Fehler behoben ist.

Tipp2: die Fehlermeldung genau anschauen: sie sagt: "Unterminated String Constant" also mit anderen Worten: fehlende Gänsefüsschen.

Tipp3: die Zeilennummer der Feheler stimmen nicht immer - manchmal merkt der Compiler erst in einer Folgezeile, daß was nicht stimmt. Also immer auch "rückwärts" schauen.

hallo, fein ja c oder fortran sind ideal zum anfangen :)

Du hast hier einige Fehler gemacht, wo steht in den Klammern am ende des Links z.B. (7) oder (3). Sieh dir hier noch einmal den Code an.

C:\Users\Amir x Lumpi\Desktop\fail\erstes Programm.c(6): error #1040: Unterminated string or char constant.

--> Zeile 6: printf("nicht nur Texte drucken,\n);  - sieh mal Anführungszeichen am Ende vergessen

 das ist nur einer

und die anderen Fehler :() Ich scheitere schon bei sowas, das wird noch ganz toll xD

0
@AmirZoldyck

ok lass uns mal sehen :)

C:\Users\Amir x Lumpi\Desktop\fail\erstes Programm.c(3): warning #2099: Missing type specifier; assuming 'int'.

--> Datentypfestlegung hatte ich etwas schon geschrieben zu - du hast vergessen dem Programm zu sagen was es verarbeiten soll, aber sehr wohl zahlen im unteren Bereich verwendet - nun reagiert das Programm mit : HÄ was willst du ;)

C:\Users\Amir x Lumpi\Desktop\fail\erstes Programm.c(3): warning #2117: Old-style function definition for 'main'.

--> Zeile 3 : diese Art der Funktionsdefinition ist nicht mehr gültig, weil veraltet, schreib sie um, sieh dir das Beispiel an, dass ich dir in meinem anderen Kommentar über Datentypdefinititon geschickt habe

C:\Users\Amir x Lumpi\Desktop\fail\erstes Programm.c(7): error #2140: Type error in argument 1 to 'printf'; expected 'const char * restrict' but found 'int'.

--> Zeile 7: printf("13 * 7 = %i \n", 13 * 7);  ---> bist du sicher er weiß, was i ist ;)? Definiere

C:\Users\Amir x Lumpi\Desktop\fail\erstes Programm.c(7): error #2001: Syntax error: expected ')' but found ';'.

--> Zeile 7: scheint mir eher ein Folgefehler zu sein

0
@AmirZoldyck

:) sag doch deinem Lehrer, er soll die Neuerungen mit in den Unterricht einbauen. Die neuen Compiler können mehr. Pelle ist hatte mir sogar noch mehr Fehler angezeigt als dir ;)

0
@GinkgoMidan

Also danke, dass du mir so hilfst, echt nett. Ehm ja, das mit veraltet hab ich mir schon gedacht, weils ja im Error so stand. Das mit diese i verstehe ich nicht, weiss selber nicht was damit gemeint ist, steht einfach so im Buch.

Achja bei Zeile 6, jetzt Zeile 15, kommt immer noch der unterminated string error, obwohl ich jetzt alles wie im Buch stehen habe. 

0
@GinkgoMidan

Also ich lerne das fuer mich selbst, sowas kommt bei uns im Unterricht nicht dran. Dort machen wir irgendwie nur Textverarbeitung. Ich lerne das fuer mich, da ich ja in diese Richtung studieren will. Du koenntest mich ja ein wenig teachen, wenn du moechtest^^. 

0
@AmirZoldyck

das ist ist eine Variable, ;) datentypendefinition du musst das i definieren, sonst weiss er nicht was oder wie er verarbeiten muss, auch solltest du darauf achten, dass du die printanweisung komplett correct gibst. :)

0
@AmirZoldyck

-lach- :D - wenn du Fragen hast, schreib mich an, wenn ich online bin, sehe ich es ja ;) -

0
@GinkgoMidan
typedef char name[200];
typedef char postleitzahl[5];

typedef struct {
	name strasse;
	unsigned int hausnummer;
	postleitzahl plz;
} adresse;

int main()
{
	name vorname, nachname;
	adresse meine_adresse;
}
meint man damit das, also mit Datentypendefinition?
0
@AmirZoldyck

oh sorry nicht gesehen, ja genau wie beschrieben ;) in jeder Sprache gibt es dafür lediglich andere Wege. Was du allerdings machen solltest, war INT zu definieren == Integer

0
@GinkgoMidan

Bin echt dumm und Blicke nirgendswo durch Mensch hahah :D aber danke, dass du versuchst mir zu helfen, allerdings muss ich das langsam beenden hab ja morgen Schule ^^

0
@AmirZoldyck

Nein du bist nicht dumm, du hast nur die Logik noch nicht intus

ich habe dir eine pn geschickt mit einem Beispiel, welches sich fehlerfrei kompilieren lässt.

0

Im dritten deiner insgesamt 5 print-Befehle fehlt das schließende Gänsefüßchen.

hier fehlt ein Endzeichen des Strings, 3. Zeile des Ausgabeblocks
  printf("nicht nur Texte drucken,\n ***** );

ich glaube du musst den Datentypfestlegen. Ohje ich sag lieber nichts dazu, bin ja absolut kein Profi xD

Bin ja selbst keiner ^^. Wie legt man ihn denn fest? Also die Dateiendung sollte .c sein steht im Buch.

0
@AmirZoldyck

Das weiß ich nicht mehr so genau. Das fand ich in der Schule recht kompliziert, außerdem haben wir mit Java geübt.. da wird das wahrscheinlich anders sein :/

0
@Mayelle

hallo, es ist an sich völlig gleichgültig, welche Sprache ihr nehmt, das Grundprinzip ist überall das gleiche :)

0

Datentypenfestlegung in diesem Falle:  int beispiel  -- sieh dir mal diese Seite hier an - hier kannst du sehen wie einfach Datentypen festgelegt werden.

https://de.wikibooks.org/wiki/C-Programmierung:_Komplexe_Datentypen

0
@GinkgoMidan

Oh vielen Dank, langsam wirds, danke euch beiden. Und @Mayelle ihr habt das in der Schule gemacht???

0
@AmirZoldyck

jap (: letztes Jahr Greenfoot und Java/Programmieren. Dieses Jahr erstellen wir Websiten !

0
@Mayelle

Gehst du auf eine Schule die darauf spezialisiert ist oder auf eine normale Schule? Bei uns machen wir nur Textverarbeitung :(. Ich will mehr ueber angewandte Informatik lernen und nicht so einen Stuss.

0
@AmirZoldyck

also ich gehe auf ein berufliches Gymnasium (gesundheitswissenschaftliches Gymnasium). Aufm allgemeinbildenden hatte ich auch zuletzt in der 6. Klasse Informatik :D bei meiner jetzigen Schule (was übrigens die weiterführende Schule nach Real ist das, die nehmen aber auch vom allgemeinbildenden Gymi Schüler an) ist Informatik pflicht (für die meisten jedenfalls^^). Aber nein, meine Schule ist nicht auf Technik spezialistert ^^

0
@Mayelle

Krass, also ich geh auf eine normale Realschule in Bayern und bei uns macht man im IT unterricht einfach NICHTS spannendes. Lass uns tauschen :/

0

Was möchtest Du wissen?