Usando scanf em um loop while

Provavelmente uma resposta extremamente simples para esta pergunta extremamente simples:

Estou lendo "C Primer Plus" de Pratta e ele continua usando o exemplo

while (scanf("%d", &num) == 1)...

O == 1 é realmente necessário? Parece que alguém poderia escrever:

while (scanf("%d", &num))

Parece que o teste de igualdade é desnecessário, pois scanf retorna o número de objetos lidos e 1 tornaria o loop while verdadeiro. É o motivo para garantir que o número de elementos lidos seja exatamente 1 ou isso seja totalmente supérfluo?

questionAnswers(5)

yourAnswerToTheQuestion