Quale sarebbe il prototipo di printf?

-6

guarda attentamente queste chiamate:

printf("hello, world\n");
printf("%d", 2);
printf("%d%g\n", 2, 2.3);

vediamo che printf può accettare qualsiasi tipo e qualsiasi numero di argomenti. tuttavia sappiamo che le funzioni in c prendono solo arg di lunghezza fissa e dovrebbero avere un prototipo compatibile per abbinare l'arg. quale sarebbe il prototipo di printf?

    
posta Abhinav Pandey 29.11.2011 - 12:56
fonte

2 risposte

9

we know that functions in c only take fixed length args

Quindi lo sai in modo errato. printf (e diverse altre funzioni di libreria standard) utilizzano una funzione di lingua chiamata elenco di argomenti variabili .

La sua dichiarazione signature sembra più o meno come questa (potrebbe essere diversa sulla tua piattaforma):

int printf ( const char * format, ... );
    
risposta data 29.11.2011 - 12:59
fonte
3
extern int printf (__const char *__restrict __format, ...);

I puntini di sospensione indicano che questa funzione utilizza un elenco di argomenti variabili .

    
risposta data 29.11.2011 - 13:02
fonte

Leggi altre domande sui tag