Qual é a diferença entre% ge% f em C?

Eu estava passando pela linguagem de programação C da K&R. Aqui em uma declaração para imprimir uma variável dupla, está escrito

printf("\t%g\n", sum += atof(line));

where soma é declarada como dupla. Alguém pode me ajudar quando usar% g em caso de duplo ou em caso de flutuação e qual é a diferença entre% g e% f.

questionAnswers(4)

yourAnswerToTheQuestion