Fazer uma função para:
procurar, no vetor apontado pelo parâmetro 1, o primeiro caracter de espaço ( ) ou o fim de vetor (representado pela quantidade fornecida no parâmetro 3).

Passo 1

Beleza, o enunciado diz: “Fazer uma função que, dado um vetor de caracteres (apontado pelo parâmetro 1) e um tamanho máximo (parâmetro 3), procure o primeiro espaço (' ') ou o fim do vetor (quando chegamos no tamanho passado).”
Conteúdo: laços (for), vetores (arrays) e condicionais (if) em C. Vamos precisar saber como percorrer um array com índice, como comparar caracteres e como retornar um valor de função.

Passo 2

Vamos criar um loop que percorre cada posição do vetor, de 0 até tam−1. A cada passo, a gente vê se o caractere é espaço. Se for, já retorna o índice. Se o loop acabar sem achar espaço, retornamos tam, que significa “chegou ao fim sem espaço”.

Passo 3

Na teoria:
  • Um laço for (i = 0; i < tam; i++) executa repetidamente um bloco de código, incrementando i.
  • A expressão v[i] acessa o caractere na posição i.
  • O if (v[i] == ' ') testa se é espaço.
  • return i; interrompe a função e devolve o índice encontrado.
  • Se ninguém chamar return dentro do for, chegamos ao return tam; final.

Resposta

int busca_espaco_ou_fim(const char *v, int tam) {
    int i;
    for (i = 0; i < tam; i++) {
        if (v[i] == ' ') {
            return i;      // primeiro espaço em v[i]
        }
    }
    return tam;           // sem espaço: retorna fim
}

Exercícios relacionados