Die Deklaration von printf()?
Wollte ich etwas ausdrucken, verwenden von printf () - Funktion in C, ohne die stdio.h, also schrieb ich ein Programm wie :
int printf(char *, ...);
int main(void)
{
printf("hello world\n");
return 0;
}
Ist das Programm korrekt ?
- Ihr format-string sollte
const char*
. Sie konnte nur ausfindigstdio.h
und Lesen Sie die definition. Warum, aus reiner Neugier, willst du nicht#include <stdio.h>
? - wie kann Sie erwarten, dass alles drucken auf dem Bildschirm, ohne stdio.h ?? Sie müssen schreiben Sie Ihre eigenen Bibliotheken .. es ist lebensmüde 🙂
- Der Akt der darunter
stdio.h
ist kein link, nichts, header-Dateien funktionieren nicht auf diese Weise. Diese Frage ist vollkommen gültig, und funktioniert gut. - Es war nur eine quiz-Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Richtige Deklaration (ISO/IEC 9899:1999):
Aber es wäre das einfachste und sicherste, um nur
#include <stdio.h>
.Nur:
Wird es Ihnen sagen
printf
Signatur:ist er der richtige.
Ich habe keine Ahnung, warum würden Sie wollen, dies zu tun.
Aber es sollte
const char *
.const char * restrict
const char*
hier.printf(const char*,...)
.const
, aber es funktioniert nicht "definieren Sie eine völlig andere Funktion", nur einen falschen Prototyp für die gleiche Funktion. (Ich vermute das falsche Vorbild ist eigentlich garantiert irgendwie funktionieren, aber ich bin mir nicht sicher.)Hier ist eine andere version der Erklärung:
funktioniert Prima, ich weiß nicht, warum die Leute sagen Sie, dass char muss ein const