Why does the result depend on the condition even though the variable does not change?

 

Sometimes I can't understand why it is wrong like the example below:

if (bb    ) printf("@X " + BestEntry + " " + P261_UpDn[tm][SignalIdx].Entry);
if (bEntry) printf("@Y " + BestEntry + " " + P261_UpDn[tm][SignalIdx].Entry);

Why does the result depend on the condition even though the variable does not change?

 
Nguyen Van Luong:

Sometimes I can't understand why it is wrong like the example below:

Why does the result depend on the condition even though the variable does not change?

Hard to answer without more context.

Possibly because printf is expecting more arguments (?). Try Print to see.