Что значит, игнорируется? Просто после первого выполнения внутреннего цикла, j так и останется равной n и потому внутренний цикл будет выполнен только один раз. (это еще повезло, что в С++ глобальные переменные инициализируются нулем)
А все потому, что говорила же мама объявлять переменные как можно ближе к месту использования :)