Because best.score is set to 0 up front, he is expecting the || (or)
to short circuit and never test best.d.
But... getting a compiler to figure that out is expecting too much.
Did you try up'ing the optimization level (just out of curiosity)?
On Jan 12, 2006, at 9:01 AM, Diego Novillo wrote:
On Thursday 12 January 2006 09:53, [EMAIL PROTECTED] wrote:
On my FC4 box with gcc version 4.0.2 20051125 (Red Hat 4.0.2-8) it
says:
testit.c: In function 'testit':
testit.c:6: warning: 'best.d' may be used uninitialized in this
function
The warning is valid. You are not guaranteeing that best.d will be
initialized. What if all the values in array 'a' are < 0?
Your best bet is
struct {int score; int d;} best = {0,0};