» Erstes C Programm wird nicht ausgeführt

CSV in C einlesenNeuen Thread eröffnenNeue Antwort erstellenDebugging in c
AutorNachricht
Beobachter 
Anmeldedatum: 07.03.2022
Beiträge: 8
07.03.2022, 17:42
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
08.03.2022, 18:04
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
09.03.2022, 12:19
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
09.03.2022, 16:51
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
09.03.2022, 17:41
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
10.03.2022, 06:50
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
10.03.2022, 12:47
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
13.03.2022, 17:48
zitieren

Hi Johann,

leider bin ich nicht früher dazu gekommen zu antworten.
Es gibt leider ein paar ganz gravierende Probleme in deinem Code...

...
char name ;
char stadt;
char datum;
...

Strings werden in C in Arrays gespeichert und nicht in einer Char-Variable, die ja nur ein einzelnes Byte aufnehmen kann. Jaaanz wichtig. ;)
...
char name[200];
char stadt[200];
char datum[100];
...

Dann...
...
printf("Gib deinen Namen ein: ");
scanf(" %s\n", &name);
strcpy(Namen.Name, &name);
...

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.
...
printf("Gib deinen Namen ein: ");
scanf("%s", name);
getchar();
strcpy(Namen.Name, name);
...

Ich hoffe nichts vergessen zu haben.

Ich habe das noch einmal zusammengetragen...
#include <stdio.h>
#include <string.h>

#define MAX_LENGTH 200

struct Adresse {
  char Name[MAX_LENGTH];
  char Ort[MAX_LENGTH];
  char Geburtsdatum[MAX_LENGTH];
  int Anzahl_der_Eintraege;
};

int main() {
  struct Adresse Namen;

  Namen.Anzahl_der_Eintraege = 1;
  char name[MAX_LENGTH];
  char stadt[MAX_LENGTH];
  char datum[MAX_LENGTH];

  printf("Gib deinen Namen ein: ");
  fgets(name, MAX_LENGTH, stdin);
  name[strlen(name) - 1] = 0; /* entfernt '\n' aus dem String */
  strcpy(Namen.Name, name);

  printf("Gib deine Stadt an: ");
  fgets(stadt, MAX_LENGTH, stdin);
  stadt[strlen(stadt) - 1] = 0; /* entfernt '\n' aus dem String */
  strcpy(Namen.Ort, stadt);

  printf("Dein Geburtsdatum: ");
  fgets(datum, MAX_LENGTH, stdin);
  datum[strlen(datum) - 1] = 0; /* entfernt '\n' aus dem String */
  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);

  return 0;
}


 2x  bearbeitet
pn
Beobachter 
Anmeldedatum: 07.03.2022
Beiträge: 8
14.03.2022, 12:09
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 
14.03.2022, 12:09
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...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
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
 Bruch kürzen Programm funktioniert nicht Teilen durch 0 Exeception
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
© 2004 - 2025 www.programmierer-forum.de | Communities | Impressum |