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).
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 (
Conteúdo: laços (
' ') 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, incrementandoi. - A expressão
v[i]acessa o caractere na posiçãoi. - O
if (v[i] == ' ')testa se é espaço. return i;interrompe a função e devolve o índice encontrado.- Se ninguém chamar
returndentro dofor, chegamos aoreturn 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
}