+1 inscrito, eu sou apaixonado por c++ porém tenho me aventurado no C e essa string quebrou minha cabeça demais kkkkkkk muito obrigado explicação nota 1000
Olá professor, tudo bem? Se eu utilizar o scanf desta forma, o certo não seria eu colocar um caractere a menos na leitura por conta do contra barra zero? Então se a palavra tem n letras, calculo n-1. scanf ("%n-1[^ ]") ?
Exato Tialisson, a ideia é exatamente esta. Aí, sabe aquela pessoa que aprendeu errado (na faculdade inclusive hahaha) e agora sempre esquece de corrigir? Pois é, sou eu kkkkk. Obrigado pela pergunta. Acho que dá uma boa aula aqui pra canal até pra me corrigir rsrs. Na maioria das vezes usar o próprio n não terá nenhum problema uma vez que é apenas uma posição fora do vetor, mas... lembra da lei de Murphy? Pois é, em algum momento vai dar problema e muito provavelmente será na hora que o cliente estiver testando o programa (ou o professor) kkkkkk.
@@programeseufuturo Oi, professor! Obrigado por responder! Pois me deparei com esta questão fazendo um exercício de strings, onde eu primeiro precisava contar o numero de caracteres. Ai lembrei deste detalhe, pois deu erro na hora de alocar memória. Mas acontece né, os erros surgem no dia da apresentação hahaha. E acho que daria uma aula legal sim, embora seja uma questão mais simples, pra quem está começando é importante saber para compreender melhor o funcionamento. Mais uma vez muito obrigado e até as próximas perguntas haha abraço!
Aula muito boa Professor. Obrigado. A função scanf sendo assim não daria para usar Expressões Regulares? Porque em uma expressão regular o [^ ] quer dizer: "Qualquer coisa nesta posição que não seja o ". Meu sonho que desse kkk. Gosto demais de Expressões Regulares kkk. Fala que dá!!kkkkkk Obrigado.
kkkkkkk Então Pedro, é possível fazer algumas coisas bem próximas ao que as expressões regulares permitem fazer, por exemplo: scanf("%[A-Z0-9]", teste); Esta instrução irá ler apenas letras maiúsculas e números entre 0 e 9. Assim, se for digitado "ABACATE123" tudo será lido e salvo na variável teste. Contudo, se for digitado "ABACATEz123", será lido apenas a palavra abacate que está em maiúsculo uma vez que a letra z não pertence ao conjunto especificado.
Bom dia eu queria fazer um treino e Fazer um programa que leia dois caracteres do teclado com a função scanf (leitura separada), e que mostre os seus códigos ASCII correspondentes. dps queria somar os 2 valores e qual caractere resulta da soma dos dois na tabela ASCII. É uma dos treinos q está na minha agenda só q n sei como fazer, poderia me ajudar?
Olá Rickzinho. Para ler dois caracteres, um por vez, você vai precisar limpar o buffer do teclado. Você pode usar a aula 12 como exemplo: ruclips.net/video/qZOZxLwnDaA/видео.html Sobre a tabela ASCII a aula 30 poderá te ajudar: ruclips.net/video/yOZXJKjeif4/видео.html Qualquer dúvida pode comentar nas aulas.
Sim, basta fazer a leitura desse valor (tamanho do vetor) antes de criar seu vetor, assim: int tam; printf("Digite o tamanho do vetor: "); scanf("%d", &tam); char str2[tam];
@@programeseufuturo sim, mas como se faz o tamanho deste vetor apatecer no lugar de 80 aqui: scanf ("%80[^ ]") porque, se o 80 não for substituido pelo tamanho lido do vetor, causará o mesmo problema tratado neste vídeo, de o scanf ler mais do que foi lido, como contornar isso?
POR QUE UM PROGRAMADOR, QUE TEM O TÍTULO DE INTELIGENTE, NÃO SE TOCA E GRAVA COM LETRAS PEQUENAS E COLORIDAS, DIFICULTANDO PARA QUEM ASSISTE AO VÍDEO ATRAVÉS DE UM PEQUENO CELULAR?! QUE ÓDIO! SUAS AULAS PARECEM BOAS, MAS NÃO DÁ!
vc é um rei, meu nobre!
Deus te abençoe, mn!
fiquei agarrado nesse scanf maldito, mas deu tudo certo agr!!
Essa aula me fez lembrar isso aqui no sql; ... nome varchar(100)
+1 inscrito, eu sou apaixonado por c++ porém tenho me aventurado no C e essa string quebrou minha cabeça demais kkkkkkk muito obrigado explicação nota 1000
Por nada R.D.G e seja muito bem vindo :)
explicação nota 10
Bom conteúdo!
Obrigado por me esclarecer uma dúvida.
Parabéns belissima aula
Obrigado Fernando :)
você ensina muito bem
Obrigado Aramís 😃
Muito boa explicação!
ótimo conteúdo!
Olá professor, tudo bem? Se eu utilizar o scanf desta forma, o certo não seria eu colocar um caractere a menos na leitura por conta do contra barra zero? Então se a palavra tem n letras, calculo n-1.
scanf ("%n-1[^
]") ?
Exato Tialisson, a ideia é exatamente esta.
Aí, sabe aquela pessoa que aprendeu errado (na faculdade inclusive hahaha) e agora sempre esquece de corrigir? Pois é, sou eu kkkkk.
Obrigado pela pergunta. Acho que dá uma boa aula aqui pra canal até pra me corrigir rsrs.
Na maioria das vezes usar o próprio n não terá nenhum problema uma vez que é apenas uma posição fora do vetor, mas... lembra da lei de Murphy? Pois é, em algum momento vai dar problema e muito provavelmente será na hora que o cliente estiver testando o programa (ou o professor) kkkkkk.
@@programeseufuturo Oi, professor! Obrigado por responder! Pois me deparei com esta questão fazendo um exercício de strings, onde eu primeiro precisava contar o numero de caracteres. Ai lembrei deste detalhe, pois deu erro na hora de alocar memória. Mas acontece né, os erros surgem no dia da apresentação hahaha. E acho que daria uma aula legal sim, embora seja uma questão mais simples, pra quem está começando é importante saber para compreender melhor o funcionamento. Mais uma vez muito obrigado e até as próximas perguntas haha abraço!
Por nada Tialisson. Abraços e até as próximas perguntas rsrs.
Aula muito boa Professor. Obrigado.
A função scanf sendo assim não daria para usar Expressões Regulares?
Porque em uma expressão regular o [^
] quer dizer: "Qualquer coisa nesta posição que não seja o
".
Meu sonho que desse kkk. Gosto demais de Expressões Regulares kkk.
Fala que dá!!kkkkkk
Obrigado.
kkkkkkk
Então Pedro, é possível fazer algumas coisas bem próximas ao que as expressões regulares permitem fazer, por exemplo:
scanf("%[A-Z0-9]", teste);
Esta instrução irá ler apenas letras maiúsculas e números entre 0 e 9.
Assim, se for digitado "ABACATE123" tudo será lido e salvo na variável teste. Contudo, se for digitado "ABACATEz123", será lido apenas a palavra abacate que está em maiúsculo uma vez que a letra z não pertence ao conjunto especificado.
@@programeseufuturo Que da hora professor!! kkk Vou testar aqui algumas coisas (e ver se não explode o pc!! kkkkk!!) Obrigado Professor
kkkkkkkk
Se explodir a culpa não foi minha em hahaha
na hora da execução do programa, ele pulou essa linha de código. Por que?
scanf("%10[^
]", aviao.nome);
TOP
Valeu Israel
Utilizado exatamente o código desta aula, como você faria para contar o número total de caracteres da string?
Toda string termina com \0. Vc pode usar um laço que conte até encontar o '\0'
Bom dia eu queria fazer um treino e Fazer um programa que leia dois caracteres do teclado com a função scanf
(leitura separada), e que mostre os seus códigos ASCII correspondentes. dps queria somar os 2 valores e qual caractere resulta da soma dos dois na tabela ASCII. É uma dos treinos q está na minha agenda só q n sei como fazer, poderia me ajudar?
Olá Rickzinho. Para ler dois caracteres, um por vez, você vai precisar limpar o buffer do teclado. Você pode usar a aula 12 como exemplo: ruclips.net/video/qZOZxLwnDaA/видео.html
Sobre a tabela ASCII a aula 30 poderá te ajudar: ruclips.net/video/yOZXJKjeif4/видео.html
Qualquer dúvida pode comentar nas aulas.
esclarecedor, tem como criar um vetor e pedir para o usuário definir no teclado quantos espaços terá o vetor?
Sim, basta fazer a leitura desse valor (tamanho do vetor) antes de criar seu vetor, assim:
int tam;
printf("Digite o tamanho do vetor: ");
scanf("%d", &tam);
char str2[tam];
@@programeseufuturo sim, mas como se faz o tamanho deste vetor apatecer no lugar de 80 aqui: scanf ("%80[^
]") porque, se o 80 não for substituido pelo tamanho lido do vetor, causará o mesmo problema tratado neste vídeo, de o scanf ler mais do que foi lido, como contornar isso?
Respondi hoje, aqui: ruclips.net/video/NTVBvicv_3k/видео.html
Esse "[^
]" é uma regex?
no meu não deu certo :(
Aparece alguma mensagem de erro ou apenas não lê a string?
POR QUE UM PROGRAMADOR, QUE TEM O TÍTULO DE INTELIGENTE, NÃO SE TOCA E GRAVA COM LETRAS PEQUENAS E COLORIDAS, DIFICULTANDO PARA QUEM ASSISTE AO VÍDEO ATRAVÉS DE UM PEQUENO CELULAR?!
QUE ÓDIO!
SUAS AULAS PARECEM BOAS, MAS NÃO DÁ!
para de gritar man