Strange behaviour of printf (C) : i'm trying to discover all capabilities of printf and I have tried this :

    printf("Test:%+*0d", 10, 20);
that print : **Test:%+100d**

I have use first the flag +, then the width * and the re-use the flag 0.

Why it's make this output ?

I purposely use printf in a bad way but I wonder why it shows me the number 100