Padrão 4: andar pela string
objetivo Texto é vetor de char, então vale o mesmo molde, com tam - 1.
em C é um de . Então o molde é o mesmo do vetor: olhe s[tam - 1] e chame com tam - 1.
O caso base é tam == 0, texto vazio.
Pra comparar um caractere, use aspas simples: s[tam - 1] == 'a'. Com aspas duplas vira texto e não compila.
Quando a chamada vem com strlen(s), lembre do <string.h>.
exemplo.cclique numa linha pra entender ela
Onde todo mundo escorrega
- 'a' com aspas simples é caractere. "a" com aspas duplas é texto e não compila na comparação.
- Toda comparação precisa do seu próprio c ==, não dá pra escrever c == 'a' || 'e'.
Desafio
Escreva ehBinaria, que devolve 1 se a string contém apenas os caracteres 0 e 1, e 0 caso contrário.
int ehBinaria(char s[], int tam)o que a função tem que devolver
| chamada | saída esperada |
|---|---|
| s = "101101"ehBinaria(s, 6) | 1 |
| s = "1021"ehBinaria(s, 4) | 0 |
| s = "0"ehBinaria(s, 1) | 1 |
a sua função
linha 1
int ehBinaria(char s[], int tam) {
// caso base: string vazia conta como binaria
// se a ultima letra nao for '0' nem '1', ja deu errado
}Ctrl+Enter (Cmd+Enter no Mac) roda. Esc sai do editor.
aperte Rodar pra ver a saída aqui
Ver a pilha de chamadas passo a passo
Mostra o que o seu código faz em cada chamada. É uma simulação didática, não substitui o botão de testar.
Dicas
Tenta sozinho primeiro. Travou de verdade, abre a primeira.