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
return
dentro 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
}