or que e como o GCC compila uma função com uma declaração de retorno ausent
#include <stdio.h>
char toUpper(char);
int main(void)
{
char ch, ch2;
printf("lowercase input : ");
ch = getchar();
ch2 = toUpper(ch);
printf("%c ==> %c\n", ch, ch2);
return 0;
}
char toUpper(char c)
{
if(c>='a'&&c<='z')
c = c - 32;
}
Na função toUpper, o tipo de retorno é char, mas não há "retorno" em toUpper (). E compile o código-fonte com o gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4), fedora-14.
Certamente, é emitido um aviso: "warning: control atinge o final da função não nula", mas funcionando be
O que aconteceu nesse código durante a compilação com o gcc? Eu quero obter uma resposta sólida neste caso. Obrigado :