string を printf に渡すと、コードが正しく機能しません:
char p[50];
scanf("%s", p);
printf(p, 10);
入力:value:%d\n
期待される出力:value:10
出力:value:10\n
また、異なる時間に異なる出力を得ました。3 回連続して実行したときの同じ a.out の出力:
$./a.out
value: %d\n
value:
$./a.out
value:%d\n\n
value:10\n\n
$./a.out
value:%d\n
value:10\n
上記value: %d\n
はscanfによるもので、次の行はprintfによるものです