Acertei pelo motivo errado. Pensei que a pseudocoluna COLNUM era afetada pela ORDER BY.
Porém, ela não existe.
A justificativa da alternativa C está errada, ao afirmar que ROWNUM não é afetada pela cláusula ORDER BY. Veja o que diz a documentação do oracle:
You can use to limit the number of rows returned by a query, as in this example:
SELECT * FROM emp WHERE ROWNUM < 10;
You can use to limit the number of rows returned by a query, as in this example:
If an clause follows in the same query, the rows will be reordered by the clause. The results can vary depending on the way the rows are accessed. For example, if the clause causes Oracle to use an index to access the data, Oracle may retrieve the rows in a different order than without the index. Therefore, the following statement will not have the same effect as the preceding example:
SELECT * FROM emp WHERE ROWNUM < 11 ORDER BY empno;
fonte: https://docs.oracle.com/cd/A81042_01/DOC/server.816/a76989/ch26.htm