Условный оператор if(b < a[i]), расположенный в цикле, проверяет исходное число b с каждым элементом массива a (перебор осуществляется с помощью вышеупомянутого цикла). В том случае, если число b оказывается меньше очередного элемента массива, то оно становится равным данному элементу.
Отсюда, в частности, следует, что рано или поздно попадётся такой элемент a[N], после которого данное условие ни разу не будет соблюдаться. Тогда мы можем сказать, что a[N] — максимальный элемент данного массива, и он рано или поздно попадёт в b.
Таким образом, если мы берём b, то данная переменная будет изменяться только тогда, когда очередной элемент массива будет больше. Рано или поздно b будет равно максимуму массива, поэтому с помощью данного алгоритма мы можем найти максимум массива. В данном случае максимумом будет 915, поэтому именно это число и будет в b.
(Кстати говоря, лучше было бы, если b изначально было бы равно a[0], а не 0. Вдруг все элементы массива были бы отрицательными?).
P.S. Если заменить знак в условии с < на >, то тогда алгоритм вычислял бы, наоборот, минимальный элемент массива и занёс бы в b число -199.
Как-то так, кажется