Wie man einen string zurückzugeben, der in meinem C-code?
Ich bin ein C-Anfänger und dies ist mein C-code:
#include <stdio.h>
#include <stdlib.h>
main()
{
printf("Hello world !\n");
return 'sss';
}
wird zeigen, dass ein Fehler,
so, wie man einen string in C-code?
main
muss wieder einint
, keine ifs, ands, oder buts. Was genau erwartest du zufällig diese Schnur? (Obwohl die "string" ist wirklich eine Zeichenkonstante, da es verwendet'
Trennzeichen statt"
)- Ein Fehler? Kopieren Sie die Fehlermeldung genau. Was genau hast du erwartet?
- Fehlt ein Strichpunkt nach der return-Anweisung; das ist wahrscheinlich der Fehler. Rückkehr
'sss'
ausmain
wird technisch funktioniert (da es eineint
), aber es ist definitiv nicht das, was gewünscht ist. - Diese Frage muss geklärt werden, viele Antworten hier davon aus, dass Sie Fragen: "Wie kann ich einen string zurückgeben, um das Betriebssystem in C?"
- Mögliche Duplikate von Rückgabe C-string aus einer Funktion
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie auf der Suche zum zurückgeben einer Zeichenfolge aus einer Funktion(außer main), sollten Sie so etwas tun.
const
vor der Erklärung? Wieconst char *
.printf("%s\n", getString());
), kommen wir vielleicht tatsächlich Müll-Daten?Die Magie ist der Schlüssel Wort
static
bewahrt, die der Speicher-Inhalt der string selbst, nachdem die Funktion beendet. (Sie können es betrachten, wie die Erweiterung der Gültigkeitsbereich der Variablen.)Dieser code nimmt jeder einen Charakter, dann verkettet Sie in einen string und speichert ihn in einer Datei:
Könnten Sie tun dies in einer Weise simplar zu
scanf
. in anderen Worten:Leider gibt es keine Möglichkeit, das zu tun.
Könnte man hinzufügen, etwas an das Ende von deinem c-Programm wie:
Du nicht einen string zurückgeben. Anwendungen schließen mit einem integer-Rückgabewert.
Konventionell, beenden mit return 0 wird immer zeigen, dass Ihre Anwendung wurde beendet, ohne Fehler /abgeschlossen. Sie eine ganze Zahl ungleich 0 ist zu zeigen, dass Ihre Anwendung abnormal beendet.
Könnten Sie eine Ausnahme auslösen und behandeln Sie es mit einem logging-Methode höher in den call-stack, oder Sie könnten einfach nur wieder etwas anderes als 0 und stellen Sie sicher, Sie hatten es dokumentiert die in Ihren release-notes zu dem, was jeden Fehler, ganze Zahl bedeutet.
Könnten Sie in der Lage sein, Umgebungsvariablen zu verwenden, für, die. Nicht sicher, obwohl.