Curso de Programação C | Matriz de Strings na linguagem de programação C | aula 142

preview_player
Показать описание
Nesta aula veremos como trabalhar com uma matriz de strings na linguagem de programação C, lendo vários nomes a partir do teclado e salvando em uma matriz de caracteres.

Ao trabalhar com strings deve-se ter muita atenção com a função utilizada para realizar a leitura da string.

A função scanf por exemplo pode ser configurada para ler tudo que for digitado até que o ENTER seja pressionado, contudo, o próprio ENTER não é lido, ele permanece no buffer do teclado.

Por outro lado, a função fgets lê tudo que for digitado, inclusive o ENTER.

Рекомендации по теме
Комментарии
Автор

Obrigado, me ajudou bastante estava sofrendo com isso.

cleytonbernardino
Автор

muito obrigado, estava quebrando a cabeça manha inteira

henriquemedeiros
Автор

Uma dúvida: Na hr de tirar o enter do buffer, em vez de utilizar o scanf("%c") eu poderia usar o setbuf(stdin, NULL)???

mrcaat
Автор

vai ter exercicios do conteúdo de strings? Seu curso de C é invrível e está me ajudando muito, vou começar a cursar eng de computaçao prox mês e estou me preparando com o conteúdo do seu canal, obrigado.

luciomelo
Автор

Por favor, como associo a ordem dos nomes com valores de slario para depois calcular o salario de cada pessoa? Obrigado

luigifiorentini
Автор

inserir fflush(stdin) antes do scanf resolve a questão!

vcatafesta
Автор

Por que os caracteres acentuados foram exibidos normalmente?

antonnelly
Автор

Quero dizer imprimir os nomes que cadastrei e depois os códigos que criei

givaldogomesferreira
Автор

Não sei o que aconte, mas quando uso %[^\n] e imprimo na tela o vetor com a palavra não aparece nada!

fellipeolivera
Автор

Professor, eu testei o programa feito em aula, usei o seu codigo do site, mas não está funcionando direito, depois que digito o primeiro nome e aperto enter, aparece as duas opções da posição 1 e 2, sendo que só consigo digitar o nome na segunda posição. Como faço para corrigir isso?

thafernandes
Автор

Olá professor Wagner, estou assistindo seu vídeo e estou gostando bastante, parabéns, eu estou querendo iniciar na programação, qual dicas você pode dar, já estou com 54 anos, se você pode me ajuda com apostilas eu agradeço.

JoseNasc
Автор

Engraçado é que a gente precisa ler o ENTER do buffer, antes de pedir o próximo nome ao usuário, mas, se a gente apenas apertar a tecla ENTER na primeira execução do for, o programa vai ficar esperando que a gente digite alguma coisa, em vez de ler o ENTER que a gente digitou. Alguém bom em abstração pra me explicar isso, por favor?

antonnelly
Автор

professor, como eu faço para que nessa matriz eu imprima um código para cada nome, terei de criar outra matriz com o código, mais não estou conseguindo imprimir os nomes.

givaldogomesferreira
Автор

Olá Wagner, se a impressão for feita com um procedimento como fica a passagem de parâmetros?

E ainda, posso declarar a matriz de strings como:
char *nomes[lin][col]; ???
Neste caso como fica a passagem de parâmetros para o procedimento imprimir também?

Att.,

Everton.

EVERTONSANTOS-juxv
Автор

professor, ali poderiamos apenas incluir um espaçamento antes do "%25[^\n]", seria desnecessario o scanf de limpeza logo em seguida

pedrotargino
Автор

Eu tenho que usar a função getchar( ) ao invés de scanf("%c"). Se não o meu compilador berra que nem criancinha sonhando com o Freddy Krugger kkk e quando rodo o programa dá erro "Falha de segmentação (imagem do núcleo gravada)".
Aparece um aviso (warning) porque o scanf() está especificando o "%c", mas não fala onde vai guardar.
Há... já esquecia... Aula top Professor!! Obrigado.

pedrobatista
Автор

Professor como eu posso procurar uma string, em um for, eu fiz a leitura, agora quero em outro for por exemplo If(nome == Caren) eu quero encontrar qual posição ela está.

carencris
Автор

Nossa cara com esse fundo preto e letras vermelhas fica difícil enxergar o que está escrito

EduardoAlejandroFAraya
Автор

No lugar do scanf("%c"), posso usar setbuff("stdin", NULL); ? Muito bom o vídeo!!

joaovitor-hqrx
Автор

O meu não funcionou, a primeira letra não imprime, já chequei o código varias vezes.

Everaldoobom