Files
2025-08-18 20:01:21 +08:00

967 B

+++ title = 'C' date = 2024-09-20T04:17:50Z draft = false +++

Format Specifier

Common specifiers:

%d      int
%u      unsigned int
%c      char
%s      string (char s[])
%p      void*
%ld     long
%lld    long long (64bits)
%f      float/double
%lf     float/double(usually used in scanf)

We can extend the format specifiers:

printf("%5d", 33);       // width      "   33"   
printf("%.2f", 3.14159); // precision  "3.14"
printf("%8.2f", 3.14159);// "    3.14"
printf("%-5d", 33);      //Alignment   "33   "

IO

Read or print via terminal:

int x;
scanf("%d", &x);
printf("%d", x);

Type Conversion

String to int, float....

int i = atoi("123");
double d = atof("3.14");

long l = strtol("123", NULL, 10);  // safer, auto detec errors
double d2 = strtod("3.14", NULL);

Numbers to string:

int i = 123;
char buf[20];
sprintf(buf, "%d", i);