Behaviour of printf using length subspecifier with a string
<p>I'm curious how work printf and I have try many tricks like :</p>

<pre><code>printf("Test 1: %hs\n", "hi");
printf("Test 2: %hhs\n", "hi");
printf("Test 3: %ls\n", "hi");
printf("Test 4: %lls\n", "hi");
printf("Test 5: %js\n", "hi");
printf("Test 6: %zs\n", "hi");
printf("Test 7: %ts", "hi");
</code></pre>

<p>I'm using printf with <code>s</code> specifier and all length modifier (usually used with numerical speficier (like <code>d / i / u / o ...</code>) and i'm getting strange output :</p>

<pre><code>Test 1: hi
Test 2: hi
Test 3: Test 4: Test 5: Test 6: hi
Test 7: hi
</code></pre>

<p>It seem's that the <code>l / ll / j</code> length modifiers make printf bug and stop to work (it doesn't print the <code>\n</code> but with all other length modifiers it seems to ignore the length modifier and work like normal usage).</p>

<p>Why it follow this behavior ? </p>