It was used for string formatting. On C/C++ this is commonly used with printf() or scanf() functions. %d is for signed integer, %u is for unsigned integer, %s id for string, %f is for floating-point, etc.
If you change, e.g. %d to %s then output might be unknown depending on value parameters passed to format the string. Look at this instruction:
int intvalue = 1;
char strvalue[] = 'one';
printf('number %d is equivalent with \"%s\" text', &intvalue, &strvalue);
The output will be:
number 1 is equivalent with "one" text
If you swap the formatting string, like this:
printf('number %s is equivalent with \"%d\" symbol', intvalue, strvalue);
The result will be incorrect, and output will be like this:
number %s is equivalent with "1" text
So be careful when changing formatting string from binary codes. The results may unpredictable, unless you also change the order of value parameters passed to string formatting function.
In reality, doesn't matter who's
right but most important is who's
left.