How to use an asterisk (*) to specify the field width in printf with C

2 Answers

0 votes
#include <stdio.h>
 
int main(void)
{
    int width = 25;
    int doubleWidth = 50;
    const char* str = "C Programming";
 
    printf("|%.25s|\n", str);
    printf("|%.*s|\n", width, str);
    printf("|%50s|\n", str);
    printf("|%*s|\n", doubleWidth, str);
 
    return 0;
}
 
 
 
 
/*
run:
 
|C Programming|
|C Programming|
|                                     C Programming|
|                                     C Programming|
 
*/

 



answered Nov 12, 2023 by avibootz
0 votes
#include <stdio.h>
  
int main(void)
{
    int width = 15;
    int doubleWidth = 30;
    int num = 253478;
     
    printf("|%.15d|\n", num);
    printf("|%.*d|\n", width, num);
    printf("|%30d|\n", num);
    printf("|%*d|\n", doubleWidth, num);
  
    return 0;
}
  
  
  
  
/*
run:
  
|000000000253478|
|000000000253478|
|                        253478|
|                        253478|
  
*/

 



answered Nov 12, 2023 by avibootz
edited Nov 12, 2023 by avibootz
...