Escreva suas próprias funções de E/S de caractere e de string. Escreva suas próprias versões das funções getchar, putchar e puts descritas na Figura 8.12.

Passo 1

E aí meus queridos!! Tudo bem com vocês??

Hoje vamos fazer um programa para falar sobre as funções getchar, putchar e puts. Bora lá???

Primeiro vamos entender que funções são essas e depois faremos um código para entendermos na prática seu funcionamento.

A função getchar tem a seguinte sintaxe: getchar(); Essa função insere um caractere seguinte da entrada padrão (teclado) e o retorna como inteiro.

A função putchar também tem uma sintaxe parecida: putchar(caractere); Ou seja, ele imprime o caractere e o retorna como inteiro.

E por fim temos a função puts. Sua sintaxe também é tranquila de aprender: puts(string); Ele imprime a string incluindo o ‘\n’. Lembra quando tínhamos que colocar \n quando usávamos o printf? Com essa função não precisamos nos preocupar com isso!!

Agora que sabemos tudo sobre as funções, vamos fazer um código utilizando todas.

Passo 2

Vamos realizar um programa que vai imprimir uma string invertida de acordo com o usuário, utilizando as funções acima!!

Primeiro vamos colocar as bibliotecas , e a e em seguida declarar uma função fora do main.

Passo 3

No nosso main precisamos declarar as variáveis que iremos utilizar, um ponteiro e um contador.

Em seguida precisamos pedir para o usuário entrar com uma frase. E adicioná-la caractere por caractere até que ele digite a tecla ENTER (Newline) e finalizamos a string com o caractere ‘\0’. Veja como:

Passo 4

Agora precisamos imprimir a frase original e em seguida ela invertida chamando a função invertida que criamos antes do main.

Mas e como fica a função invertida? Bom, aí é que está o segredo do nosso código!!

A gente adiciona um loop if para verificar se nossa string começa com o caractere nulo ‘\0’. Se sim, ela retornará a string normal. Se não, chamaremos a função novamente até que ela inverta a string e depois a imprime com a função putchar.

Ufa... Acabamos por aqui!! Dê Ctrl+n no seu compilador e bora para o próximo exercício!!

Resposta

E assim ficará nosso código: