<< 30/52 >>
First Last

printf の恐怖

%n というマイナーなフォーマット指定子があります

%n が出現するまでに書かれた文字数を、
指定したメモリアドレスに書き込みます

 int main() {
   int n = 99;
   printf("hoge%n\n", &n);
   printf("%d\n", n);  // 4
 }

なんで printf がメモリ書き換えるんだよ!