Voer één teken uit in C

Moet ik bij het afdrukken van een enkel teken in een C-programma “%1s” gebruiken in de opmaakreeks? Kan ik iets als “%c” gebruiken?


Antwoord 1, autoriteit 100%

ja, %czal een enkel teken afdrukken:

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

ook putchar/putczal ook werken. Van “man putchar”:

#include <stdio.h>
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).

BEWERKEN:

Houd er ook rekening mee dat als je een string hebt, om een enkele char uit te voeren, je het karakter nodig hebt in de string die je wilt uitvoeren. Bijvoorbeeld:

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

Antwoord 2, autoriteit 21%

Pas op voor het verschil tussen 'c'en "c"

'c'is een char die geschikt is om te formatteren met %c

"c"is een char* die verwijst naar een geheugenblok met een lengte van 2 (met de nul-terminator).


Antwoord 3, autoriteit 18%

Zoals vermeld in een van de andere antwoorden, kunt u putc(int c, FILE *stream), putchar(int c) of fputc(int c, FILE *stream) voor dit doel.

Het is belangrijk op te merken dat het gebruik van een van de bovenstaande functies van sommige tot aanzienlijk sneller is dan het gebruik van een van de format-parseerfuncties zoals printf.

Het gebruik van printf is als het gebruik van een machinegeweer om één kogel te vuren.


Antwoord 4, Autoriteit 3%

char variable = 'x';  // the variable is a char whose value is lowercase x
printf("<%c>", variable); // print it with angle brackets around the character

Antwoord 5, Autoriteit 3%

De eenvoudigste manier om een enkel teken uit te voeren, is om eenvoudig de putchar-functie te gebruiken. Immers, dat is het enige doel en het kan niets anders doen. Het kan niet eenvoudiger zijn dan dat.

Other episodes