O programa abaixo escreve o valor recebido por extenso. Eu queria saber Por que eu tive que declarar um Array como *ponteiro. ps:[eu acertei no fogo ou vontade.]
#include <stdio.h>
#include <conio.h>
main()
{
int dezena, unidade, numero;
const char *a[]={"um", "dois", "tres", "quatro", "cinco", "seis", "sete", "oito",
"nove", "dez", "onze", "doze", "treze", "catorze", "quinze", "dezesseis",
"dezesete", "dezoito", "desenove", "vinte", "trinta", "quarenta",
"cinquenta", "sessenta", "setenta", "oitenta", "noventa", "cem", "e"};
printf("Digite um numero de 1 a 99: ");
scanf("%d", &numero);
dezena = numero / 10;
unidade = numero % 10;
if(numero <= 20)
printf("%2s", a[numero -1]);
else {
printf("%2s", a[17 + dezena]);
if(unidade != 0) printf(" e %2s", a[unidade -1]);
}
getch();
}