Chr15 - Clube do Hardware
Chr15 respondeu ao tópico de Chr15 em C/C#/C++
Boa noite,@Lucca Rodrigues! 🙋‍♂️ Primeiramente muito obrigado pela resposta. 🤝 No vídeo que vi, não foi dito o motivo, só que funcionava quando fosse colocado esse espaço... Mas agora eu sei o porquê e vários outros saberão também quando encontrarem esse tópico quando surgir alguma dúvida relacionada. Obrigado! E sim, eu fui informado que bool em C é quase inútil, mas começando agora preciso testar e saber os reais motivos para tal. Acabo de descobrir! Obrigado mais uma vez pela disposição, @Lucca Rodrigues! ------------------------------------------------------------------------------------------------ Boa noite,@mauro_b! Antes de mais nada: obrigado pelos esclarecimentos! Confesso que fiquei 2 minutos refletindo o que você tinha dito mas agora entendo o que significa (ou pelo menos acho que entendo). Se eu declaro que o scanf precisa de um inteiro ("%d" e peço desculpas se eu te corrigir errado mas creio que o mesmo tem 2 bytes) e bool tem somente 1 byte, ele sobrescreve a variável char para que se torne inteiro (2 bytes) e isso altera a característica da variável, tornando o printf nulo pois não condiz com seus parâmetros. É isso, não? Por favor, me corrija se eu estiver errado. Detalhe: a variável float agora funciona normalmente, só precisei removê-las do printf em que perguntava quais seriam os novos valores das variáveis. Antes mesmo de remover a bool. Te agradeço grandemente pela disposição em repassar os conhecimentos adquiridos com tanta paciência e boa vontade! 👏 Um ótimo início de semana para vocês! 😁 Aguardo mais informações. Chris
Bom dia, @De Los Santos! printf("\nQual o novo valor para Inteiro? ", Inteiro); printf("\nQual o novo valor para Decimal? ", Decimal); printf("\nQual o novo valor para Caractere? ", Caractere); printf("\nQual o novo valor para Booleano? ", Booleano); Obrigado pelo feedback. Corrigi o detalhe das variáveis no printf citado. Realmente não fazia sentido, erro de iniciante. scanf(" %c", &Caractere); Quanto a esse scanf, em um momento anterior tive um problema ao tentar obter o input para essa função funcionar, o código não funcionava, saltando para a linha seguinte sem perguntar qual o novo valor para essa variável. Vi num vídeo que o scanf em variáveis char precisavam deste espaço antes do %c para funcionar, senão ela é ignorada. Coloquei e funcionou por alguns testes. Mas após inserir o Booleano no código tive esse problema que não consegui resolver ainda... Aguardo novas orientações, Chris
Chr15 começou a seguir Por que o retorno da função printf não retornam os valores do scanf? 20 de fevereiro
Chr15 postou um tópico em C/C#/C++
Bom dia, Clube! 🙋‍♂️ Tudo bem com vocês? 😁 Já começo pedindo desculpas caso meu tópico esteja duplicado ou por faltar algum detalhe inicialmente... Sou novo nesse mundo e tô aqui pra aprender. Utilizando o gancho da aprendizagem, agradeceria grandemente se alguém pudesse me responder esses problemas que esbarrei no primeiro dia de codificação C : O retorno da função printf da variável float nomeada Decimal tem o valor menor do que o definido manualmente pelo scanf; O retorno da função printf da variável char nomeada Caractere após o scanf neste código fica vazio por algum motivo. Aqui o código: #include <stdio.h> #include <stdlib.h> #include <stdbool.h> //Incluindo bibliotecas pre-definidas void main(){ int Inteiro; float Decimal; char Caractere; bool Booleano; //Definindo variáveis e seus tipos Inteiro = 4; Decimal = 1.5; Caractere = 'C'; Booleano = false; //Definindo valores das variáveis printf("\nO valor da variavel Inteiro atualmente = %d!", Inteiro); printf("\nQual o novo valor para Inteiro? ", Inteiro); //Imprimindo na tela scanf("%d", &Inteiro); //Pedindo usuário para inserir novo valor printf("\nO valor da variavel Decimal atualmente = %f!", Decimal); printf("\nQual o novo valor para Decimal? ", Decimal); //Imprimindo na tela scanf("%f", &Decimal); //Pedindo usuário para inserir novo valor printf("\nO valor da variavel Caractere atualmente = %c!", Caractere); printf("\nQual o novo valor para Caractere? ", Caractere); //Imprimindo na tela scanf(" %c", &Caractere); //Pedindo usuário para inserir novo valor printf("\nO valor da variavel Booleano atualmente = %d!", Booleano); printf("\nQual o novo valor para Booleano? ", Booleano); //Imprimindo na tela scanf("%d", &Booleano); //Pedindo usuário para inserir novo valor printf("\nO novo valor de A = %d", Inteiro); printf("\nO novo valor de B = %f", Decimal); printf("\nO novo valor de C = %c", Caractere); printf("\nO novo valor de D = %d\n\n", Booleano); //Imprimindo valores após a modificação system("pause"); //Pausando após execução } Sei que é um código simples e a ideia é essa mesmo! Comecei literalmente ontem e estou testando os tipos de variáveis. Só que aí encontrei esses detalhes que não consegui encontrar a falha... Aguardo respostas e sou grato antecipadamente pelo tempo e disposição de vocês. Abraços, Chris