Keluaran karakter tunggal dalam C

Ketika mencetak satu karakter dalam program C, haruskah saya menggunakan "%1s" dalam string format? Dapatkah saya menggunakan sesuatu seperti "%c"?

ya, %c akan mencetak satu karakter:

printf("%c", 'h');

juga, putchar/putc akan bekerja juga. Dari "man putchar":

#include 

int fputc(int c, FILE *stream);
int putc(int c, FILE *stream);
int putchar(int c);

* fputc() writes the character c, cast to an unsigned char, to stream.
* putc() is equivalent to fputc() except that it may be implemented as a macro which evaluates stream more than once.
* putchar(c); is equivalent to putc(c,stdout).

EDIT:

Perhatikan juga, bahwa jika Anda memiliki string, untuk mengeluarkan satu char, Anda perlu mendapatkan karakter dalam string yang ingin Anda keluarkan. Sebagai contoh:

const char *h = "hello world";
printf("%c\n", h[4]); /* outputs an 'o' character */
Komentar (3)

Seperti yang disebutkan di salah satu jawaban lain, Anda bisa menggunakan putc(int c, FILE stream), putchar(int c) atau fputc(int c, FILE stream) untuk tujuan ini.

Apa yang penting untuk dicatat adalah bahwa menggunakan salah satu fungsi di atas adalah dari beberapa fungsi yang secara signifikan lebih cepat daripada menggunakan salah satu fungsi format-parsing seperti printf.

Menggunakan printf seperti menggunakan senapan mesin untuk menembakkan satu peluru.

Komentar (1)

Berhati-hatilah terhadap perbedaan antara 'c' dan "c"

'c' adalah char yang cocok untuk format dengan %c

"c" adalah char* yang menunjuk ke blok memori dengan panjang 2 (dengan terminator null).

Komentar (2)