Ich kann sagen, dass die Variablen diese Werte haben:
int j = -838610 - eindeutig unerwartet int shipsize = 3 - ein erwarteter Wert mysea ist char[10][10] bestehend aus 100 'w' auch korrekt int pos_x = 0 - erwartet int pos_y = 0 - erwartet doable wird wundersamerweise aber auf 1 gesetz, obwohl der Teil des Programms doch garnicht erreicht wird(?).
Du wolltest wohl eher 'j++' anstatt 'j--' benutzen, sonst befindest du dich in einer Endlosschleife, die früher oder später zu einem Crash führen wird.
'doable' wird auf 1 gesetzt, weil 'j' beim ersten Schleifendurchgang noch 0 ist. Und in mysea[0][0] steht ein 'w'. Daraus folgt, dass der Vergleich zutrifft und 'doable = 1' ausgeführt wird.