Recentemente in un'intervista mi è stato chiesto quale sia la firma di printf. Davvero non ho potuto ottenere una risposta giusta. Qualcuno sarebbe in grado di far luce su questo?Qual è la firma di printf?
risposta
int printf (const char * format, ...);
Erano probabilmente chiedendo questo per vedere se tu fossi familiarità con la sintassi parametro opzionale "...". Ciò consente di passare un elenco indeterminato di variabili che riempirà la stringa di formato.
Ad esempio, lo stesso metodo può essere utilizzato per stampare le cose simili:
printf("This is a string: %s", myString);
printf("This is a string: %s and an int: %d", myString, myInt);
Oppure si sarebbero chiesti se l'intervistato sapeva che printf() restituisce un int. –
Per essere onesti, non sapevo che restituisse un int fino ad ora –
Spero che fossero dopo la sintassi variabile. Se volevano sapere del tipo di ritorno, la domanda era terribile. Non vuoi lavorare lì. –
printf è una funzione variadic con la seguente firma:
int printf(const char *format, ...);
questo significa che ha una richiesto il parametro stringa, seguito da 0 o più parametri (che possono essere di vari tipi). Infine, restituisce un int che rappresenta quanti caratteri ci sono nel risultato.
Il numero e il tipo dei parametri facoltativi sono determinati dal contenuto della stringa di formato.
Method signature, per qualche ulteriore contesto.
- 1. Qual è la differenza tra printf ("% i") e printf ("% d")
- 2. Qual è la precisione predefinita di c printf% f?
- 3. C++: Qual è la specifica del formato printf() per "float"?
- 4. qual è il printf in C#
- 5. Qual è la differenza tra printf ("% s"), printf ("% ls"), wprintf ("% s") e wprintf ("% ls")?
- 6. Qual è il punto del codice di firma, come vasi?
- 7. In typescript, qual è l'identificatore della firma dell'indice?
- 8. Significato di "." in printf
- 9. Qual è la differenza tra printf e std :: ostream sotto consolle finestre usando UTF-8 uscita
- 10. Qual è la differenza tra put e printf in C compilato in linguaggio Assembly
- 11. Come viene interpretata la dichiarazione di printf?
- 12. Firma la risposta SAML con o senza firma di asserzione?
- 13. la precisione di printf con specificatore "% g"
- 14. Il cast di C++ non è firmato per la firma
- 15. Qual è la firma PInvoke corretta per una funzione che accetta var args?
- 16. Estensione di firma con lunghezza lunga senza firma
- 17. Qual'è la dimensione di (main), sizeof (printf), sizeof (scanf)?
- 18. Qual è la differenza tra gli identificatori di conversione% i e% d nelle funzioni di I/O formattate (* printf/* scanf)
- 19. Printf() - limite di caratteri stampati
- 20. complessità asintotica di printf
- 21. Qual è il modo corretto di usare printf per stampare un orologio_t?
- 22. - Specifica dell'algoritmo della firma per la firma WS-Security Timestamp
- 23. Qual è la differenza tra le famiglie di funzioni printf e vprintf e quando dovrei usare l'una sull'altra?
- 24. write o printf, che è più veloce?
- 25. Dove è `% p` utile con printf?
- 26. Rileva la firma del selettore
- 27. SML: Qual è la differenza tra l'uso dell'abstype e l'utilizzo di una firma per nascondere l'implementazione di una struttura?
- 28. principale function() con la firma di sbagliato viene chiamato
- 29. Come rilevare la firma con una macro?
- 30. Quando printf ("% s", char *) interrompe la stampa?
Se sei perplesso in un'intervista, soprattutto su una questione di fatto, chiedi all'intervistatore! Se sei educato e non sono un idiota, non posso immaginare che ti rifiutino. – Ken