É exactamente a mesma coisa. A única vantagem que eu conheço, para o segundo caso, é poderes identificar melhor que não são passados argumentos e que aquilo é uma função declarada. Mas normalmente não se escreve esse void quando não se recebem parâmetros, apenas '()'.
Em relação ao exercício, quando usas um printf, o que está entre aspas é imprimido no standard output, o monitor. Como tal, se fizeres printf("ola\n"); ele imprime "ola" e muda de linha [caracter '\n']. No entanto como achas que imprimes o valor de uma variável?
Se antes do printf fizeres int a = 5; e depois sim, printf("a\n"); isto imprime "a" e não o valor de 'a' criado. Para tal, indicas, dentro da área entre aspas, que vais ter uma variável de um certo tipo, usando o caracter '%' seguido do tipo da variável que queres ver imprimida: f [float], d[decimal, inteiro, double] c[caracter] s[string], e depois há outras variantes como f.2, que imprime duas casas decimais desse float que vais imprimir etc. Portanto, pegas no %f e metes dentro das aspas do printf. No entanto, falta a referência à variável que queres imprimir. Para isso, a seguir a fechar as aspas, acrescentas uma vírgula e metes o nome da variável relativa ao tipo.
int i = 5; /* i é inteiro -> %d */
printf("i vale %d\n", i);
e isto imprime "i vale 5" e muda de linha.
Agora perguntas, e como se faz se se quiser imprimir várias variáveis? Muito simples, pões os %X todos por ordem, e depois de fechar aspas, metes os nomes das respectivas variáveis aos tipos, pela mesma ordem que aparecem dentro de aspas.
int i = 5; /* i é inteiro -> %d */
float f = 3.2 /* f é float -> %f */
char c = 'W' /* c é char -> %c */
printf("i=%d\nf=%f\nc=%c\n", i, f, c); /* ou ainda... */
printf("i=%d\n
f=%f\n
c=%c\n", i, f, c);
o que imprime
"i=5
f=3.2
c=W
"
Portanto, o printf(); recebe como argumentos uma string e/ou a lista de argumentos com os nomes respectivos às variáveis representadas pelos %X dentro do primeiro argumento string.
Dá uma olhadela na revista PROGRAMAR, na edição nr. 7.
http://www.revista-programar.info/front/editions