int main(void)
{
char c = 'a';
int n = 10;
printf("1 >%*c<\n", n, c);
printf("2 >%-*c<\n", n, c);
printf("3 >%*.c<\n", n, c);
printf("4 >%-c<\n", c);
printf("5 >%-.c<\n", c);
printf("6 >%.c<\n", c);
printf("7 >%10.4c<\n", c);
printf("8 >%.4c<\n", c);
printf("9 >%.c<\n", c);
}
1 > a<
2 >a <
3 > a<
4 >a<
5 >a<
6 >a<
7 > a< // 소수점 뒤 4는 무시됨 (에러)
8 >a< // 소수점 무시됨 (에러)
9 >a<
캐릭터형에 대해서는 .(온점)
이 아무런 효과없이 무시되며 .
뒤에 숫자가 나올경우 ERROR처리된다
그 외, 폭을 지정해주는 수에대해서는 정상적으로 작동한다
int main(void)
{
char c[] = "this is string";
int n = 10;
printf("1 >%*s<\n", n, c);
printf("2 >%-*s<\n", n, c);
printf("3 >%*.s<\n", n, c);
printf("4 >%-s<\n", c);
printf("5 >%-.s<\n", c);
printf("6 >%.s<\n", c);
printf("7 >%10.4s<\n", c);
printf("8 >%.4s<\n", c);
printf("9 >%.1s<\n", c);
printf("A >%.s<\n", c);
}
1 >this is string<
2 >this is string<
3 > <
4 >this is string<
5 ><
6 ><
7 > this<
8 >this<
9 >t<
A ><
문자열의 경우 .(온점)
이 정상적인 역활을 한다. 온점 뒤 수만큼만 출력을 해주며 온전 앞 수만큼 폭을 유지해준다
int main(void)
{
//char c[] = "this is string";
int num = 10;
int *c = #
int n = 30;
printf("1 >%*p<\n", n, c);
printf("2 >%-*p<\n", n, c);
printf("3 >%*.*p<\n", n, n, c); //error
printf("4 >%-p<\n", c);
printf("5 >%-.p<\n", c);
printf("6 >%.p<\n", c);
printf("7 >%10.4p<\n", c); //error
printf("8 >%.4p<\n", c); //error
printf("9 >%.1p<\n", c); //error
printf("A >%.p<\n", c);
}
1 > 0x7ffee956981c<
2 >0x7ffee956981c <
3 >0x0000000000000000007ffee956981c< //error
4 >0x7ffee956981c<
5 >0x7ffee956981c<
6 >0x7ffee956981c<
7 >0x7ffee956981c< //error
8 >0x7ffee956981c< //error
9 >0x7ffee956981c< //error
A >0x7ffee956981c<
포인터형의 경우.(온점)
이 아무런 효과없이 무시되며 .
뒤에 숫자가 나올경우 ERROR처리된다
그 외, 폭을 지정해주는 수에대해서는 정상적으로 작동한다