Autor | Nachricht |
---|---|
Beobachter Anmeldedatum: 07.03.2022 Beiträge: 8 | zitieren Hallo Leute nach HTML CSS und Python habe ich mich entschieden die maschinennahe Sprache C zu erlenen. Ich informierte mich viel zur Konfiguration des ersten hello world programmes. Jedoch Funtioniert es nicht. Ich habe mit gcc das programm kompiliert. Dies klappte auch, es kam ein a.exe programm aus. Dies führte ich dann im Terminal (Visual Studio Code) mit dem Befehl ./a.exe aus. Es kam weder das erwartete "Hello World" heraus, noch irgendeine Fehleranzeigeige heraus. Hier der Code: #include <stdio.h> int main(){ printf('Hallo Welt \n'); return; } Und so sah es im Terminal aus: PS C:\Users\Anwender\Desktop\C Programme\P1_HalloWelt> gcc helloworld.c helloworld.c: In function 'main': helloworld.c:5:12: warning: multi-character character constant [-Wmultichar] 5 | printf('Ha \n'); | ^~~~~~~ helloworld.c:5:12: warning: passing argument 1 of 'printf' makes pointer from integer without a cast [-Wint-conversion] In file included from helloworld.c:1: c:\mingw\include\stdio.h:462:46: note: expected 'const char ' but argument is of type 'int' 462 | _CRTIMP __cdecl __MINGW_NOTHROW int printf (const char , ...); | ^~~~~~~~~~~~ PS C:\Users\Anwender\Desktop\C Programme\P1_HalloWelt> ./a.exe PS C:\Users\Anwender\Desktop\C Programme\P1_HalloWelt> Wie man sieht führte er das a.exe programm garnicht aus. Hat jemand eine Idee woran das liegen könnte? Bin blutiger Anfänger und hoffe jemand hat einen Idee. Liebe Grüße Johann |
▲ | pn |
Trainee ![]() Name: Mirko Geschlecht: ![]() Anmeldedatum: 06.12.2019 Beiträge: 46 Wohnort: Weingarten | zitieren Hi Johann, anstelle von printf('Hallo Welt \n'); probiere bitte printf("Hallo Welt \n"); Die doppelten Anführungszeichen sollten das Problem sein. |
▲ | pn |
Beobachter Anmeldedatum: 07.03.2022 Beiträge: 8 | zitieren Ja das stimmt, in Python sind die einfachen oder doppelten Anführungszeichen egal. Jedoch klappt es auch so nicht, da es mit Windows echt umständlich ist zu konfigurieren. Ich arbeite nun mit dem IDE Code::Blocks, der ist TOP! |
▲ | pn |
Trainee ![]() Name: Mirko Geschlecht: ![]() Anmeldedatum: 06.12.2019 Beiträge: 46 Wohnort: Weingarten | zitieren Unter Windows bin ich ja nur in der Arbeit unterwegs und da programmiere ich ja nicht, aber ich hatte mal vor langer Zeit einen sehr guten Start mit folgender Software gehabt. Vielleicht lohnt es sich für Dich da mal einen Blick rein zu werfen. https://bloodshed.net |
▲ | pn |
Beobachter Anmeldedatum: 07.03.2022 Beiträge: 8 | zitieren Jap Danke, aber ich werde erstmal bei Code::Blocks bleiben, Arbeite erst seit knap 4 Tagen mit C und bin bis jetzt zufrieden mit dem IDE.Ab Montag wird dann der erste Arduino uno Programmiert:) Falls dafür Tipps hast, die nehme ich gerne an. In einigen Wochen mache ich das beruflich und muss noch einige Level zulegen. LG Johann |
▲ | pn |
Trainee ![]() Name: Mirko Geschlecht: ![]() Anmeldedatum: 06.12.2019 Beiträge: 46 Wohnort: Weingarten | zitieren Wenn Du mit Code::Blocks zufrieden bist, dann gibt es klar keinen Grund zu schwenken. Würde ich auch nicht machen. Leider kann ich Dir keine Tips geben, da ich wie oben schon erwähnt, beruflich mit Programmieren nichts zu tun habe. Privat bin ich einfach nur interessiert. Du bist ja generell kein Anfänger mehr, daher glaube ich, wirst Du den Dreh schnell raus haben. Viel Glück in deinem neuen Berufsfeld. LG Mirko |
▲ | pn |
Beobachter Anmeldedatum: 07.03.2022 Beiträge: 8 | zitieren Dankeschön ![]() Verfasst am: 11.03.2022, 13:50 zitieren Vielleicht hat einer idde bei dem Folgenen Problem: Ich probiere mit strukturen einen kleiner Gästebucheintrag zu machen, leider stimmt da was nicht. #include <stdio.h> #include <stdlib.h> #include <string.h> struct Adresse //Diesen Datentyp haben wir selber erstellt { char Name[200]; char Ort[200]; int Anzahl_der_Eintraege; char Geburtsdatum[100]; }; int main() { struct Adresse Namen; //Variablennamen zuordnen zu Adresse -> hier Namen Namen.Anzahl_der_Eintraege = 1; char name ; char stadt; char datum; printf("Gib deinen Namen ein: "); scanf(" %s\n", &name); strcpy(Namen.Name, &name); printf("Gib deine Stadt an: "); scanf("%s\n", &stadt); strcpy(Namen.Ort, &stadt); printf("Dein Geburtsdatum: "); scanf("%s\n", &datum); strcpy(Namen.Geburtsdatum, &datum); printf("Anzahl: %d\n", Namen.Anzahl_der_Eintraege); printf("Name: %s\n", Namen.Name); printf("Ort: %s\n", Namen.Ort); printf("Geburtsdatum: %s\n", Namen.Geburtsdatum); system("PAUSE"); return 0; } Ich zeige euch mal die Ausgabe:(Die ersten Zeilen sind die Eingabe) Gib deinen Namen ein: Peter h Gib deine Stadt an: Oldenburg Dein Geburtsdatum: 11.01.1900 Anzahl: 1 Name: enburg Ort: h Geburtsdatum: Oldenburg Drücken Sie eine beliebige Taste . . . Irgendwie verdreht er alles und nach der Eingabe des Namen kommt nicht direkt die nächste aufforderung mit printf. Irgendwie muss man da irgendwas eintippen damit die nächste scanf aufforderung kommt. Hat da jemand eine idee? Ich nehme an die Speicherung der Adresse ist falsch und irgendwas stimmt nicht mit dem Ablauf, da nicht die nächste Aufforderung kommt. |
▲ | pn |
Trainee ![]() Name: Mirko Geschlecht: ![]() Anmeldedatum: 06.12.2019 Beiträge: 46 Wohnort: Weingarten | zitieren Hi Johann, leider bin ich nicht früher dazu gekommen zu antworten. Es gibt leider ein paar ganz gravierende Probleme in deinem Code...
Strings werden in C in Arrays gespeichert und nicht in einer Char-Variable, die ja nur ein einzelnes Byte aufnehmen kann. Jaaanz wichtig. ![]()
Dann...
Scanf, bitte ohne Zeilenumbruch und ein Array ist bereits so etwas wie ein Zeiger aufs erste Element und benötigt daher keinen Adressoperator... Ein weiteres Problem bei scanf ist der Zeilenumbruch beim drücken der Enter-Taste. Dieser wird dann leider zur nächsten scanf-Eingabe weitergetragen. Das kann man mit getchar() auffangen. Das löst allerdings nicht das Problem, dass scanf bei einem Leerzeichen aufhört einzulesen. Soll heißen, besteht der Name aus Vorname und Name, dann wird nur der erste String (Vorname?) eingelesen. Vielleicht schaust Du Dir mal die Funktion fgets(name, 200, stdin); an... Die macht glücklicher.
Ich hoffe nichts vergessen zu haben. Ich habe das noch einmal zusammengetragen...
2x bearbeitet |
▲ | pn |
Beobachter Anmeldedatum: 07.03.2022 Beiträge: 8 | zitieren Vielen dank ... Das mit den [] bei einem char hatte ich vergessen, es ist ja ein muss. Das "\n" zu entfernen war der Gamechanger...läuft jetzt danke!! Allerding musste ich diesen Teil von deinem code "name[strlen(name) - 1] = 0;" nicht einfügen damit es funktioniert. LG Johann |
▲ | pn |
Gast | zitieren Mach mit!Wenn Dir die Beiträge zum Thread "Erstes C Programm wird nicht ausgeführt" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:Registrierte Mitglieder genießen die folgenden Vorteile: ✔ kostenlose Mitgliedschaft ✔ keine Werbung ✔ direkter Austausch mit Gleichgesinnten ✔ neue Fragen stellen oder Diskussionen starten ✔ schnelle Hilfe bei Problemen ✔ Bilder und Videos hochladen ✔ und vieles mehr... |
▲ | |
Ähnliche Beiträge | Re: √ | Letzter Beitrag | |
---|---|---|---|
Mein erstes Auto accord den ich mir schon seit jahren gewünscht hab wird getunt! 😄 Moin Leute,
Wollte euch mal mein erstes Auto Honda accord bj.95 2.0 131ps 130.000km mal kurz vorstellen und eure Meinungen hören.
Habe meinen Acci vor ein Monat gekauft. Und bin grad am basteln. Ich habe gekauft: Magnaflow Endtopf, Rennkat Magnaflow,... von SK6767 | 16 938 | 17.10.2015, 08:04 SK6767 | |
Notebook: Akku wird nicht geladen bzw. nur kurz, neues Netzteil hat nicht geholfen Hi,
ich habe einen Notebook von einem Freund da, der mir ohne Akku geliefert wurde und mit einem Wackelkontakt am Ladestecker.
Um die Kosten niedrig zu halten bin ich dann hingegangen und habe erst mal ein neues Netzteil besorgt und einen... von mgutt | 19 3.328 | 27.06.2012, 11:55 rtk89 | |
![]() Freunde ich steck in der Klemme und zwar sollte ich ein Programm schreiben mit 2 Klassen wo der Nutzer 2 Zahlen reingibt und einen gekürzten Bruch bekommt. Dieses Programm läuft nicht.
Code für die Klasse Bruch (diese enthält den größten Teil der Logik... [Java]von RFL | 2 283 | 06.05.2019, 15:59 ![]() RFL | |
Motortemperatur geht nicht hoch und Innenraum wird nicht war Hallo Leute,
ist es normal, dass die Temperaturanzeige bei diesem Wetter überhaupt nicht hochgeht und das es im Innenraum nicht wirklich angenehm warm wird?
Mich nervt das ja schon ein wenig Vllt habt ihr Tipps
Gruß... von Reengando | 20 6.453 | 05.01.2013, 22:34 japan spezi | |
del sol vti wird nicht warm !!!!! moin moin
also jungs ich habe nen problen mein sol will nicht warm werden solange ich im ormalen stadt verkehr binn erst wenn ich auf die bahn fahre wird er warm
kann mir jemand sagen worann das liegt ????????
danke im... von gianluca_vti | 2 507 | 05.10.2007, 12:58 Botte | |
ED7 wird nicht warm?! Tach,
Und zwar habe ich folgendes Problem. Mein Ed war zu warm geworden und der alte Kuehler hin.
Nun habe ich einen neuen Kuehler, neue WaPu, neues Thermostat und neue Flüssigkeit rein.
Motor läuft, so das ich entlüften kann/konnte, jedoch... von Type-S | 3 254 | 03.06.2011, 08:10 Type-S | |
ed6 wird nicht warm hallo mein ed6 wird nicht mehr warm !!!
nur im stand wenn ich ihn warmlaufen lasse, und wenn ich dann losfahr sinkt die temperatur wieder
kann mir jemand helfen danke im... von porkied6 | 17 583 | 14.01.2009, 19:49 porkied6 | |
EG3 wird nicht warm Hi leute,
habe ein kleines problem bei meinem eg3 er wird nicht wirklich warm. also die temp. anzeige bewegt den zeiger nicht rauf. im stand geht er vielleicht zu einem viertel nach oben aber sobald ich fahre geht sie wieder kommplet runter. an was... von white_dream | 2 347 | 30.01.2009, 23:53 mbboy | |
MA9 wird nicht warm...! folgendes fahrzeug:
95'er civic MA9
1.5 l V-Tec (mit diesem Öko-Modus - gibt es da ne genaue bezeichnung)
km: 223000
folgendes problem:
- im letzten winter heizte das ding wie ein kraftwerk
- diesen winter bei unter +5° wird er einfach nicht... von DudeMa9 | 8 705 | 18.01.2007, 10:59 Lord_Ishmael | |
Lack wird nicht hart Hi an alle
hab jetzt die letzten paar Tage nen Koti von mir lackieren wollen bzw. lackiert.
Habs mit der Dose gemacht weil ich damit sonst nie irgendwelche schwierigkeiten gehabt habe.
Aber diesmal will der Lack irgendwie nicht richtig... von Just*Ink | 4 2.849 | 13.07.2010, 18:54 DonMIRZ |