Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Programa para capturar valores numéricos e somá-los


Fc-hardware

Pergunta

Sou iniciante em C e gostaria que alguém pudesse me ajudar novamente...

fiz esse algoritmo:

#include <stdio.h>

main ()
{
    int a;
    int b;
    int r;

printf("Digite o valor de A");
scanf("%d",&a);
printf(" Digite o valor de B ");
scanf("%d",&b);
r==a+b;
printf("%d",r);
}

ele até roda mas o resultado me retorna um numero completamente diferente, alguém pode me dizer onde está o erro?

grato.

Editado por Jonathan Queiroz
Título editado para descrever melhor os tópico e adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Salve,

Bom, vamos lá, por partes para que você possa entender:

int a;
    int b;
    int r;
Até esta etapa você declarou tres variaveis inteiras
printf("Digite o valor de A:");
    scanf("%d",&a);
    
    printf("Digite o valor de B:");
    scanf("%d",&b);
Aqui você leu o conteudo do teclado para as variaveis "a e b" Atenção aqui:
r == a+b;

A variavel 'r' é do tipo inteira. Teoricamente e dependendo do compilador(isso é uma parte nerd e chata da linguagem), R deveria receber um valor inteiro, mas não recebeu e como ela não tem nenhum valor atribuido, o sistema operacional vai colocar qualquer valor na variavel 'r' e por isso aparece este tal número nada a ver.

Conseguiu compreender ?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

 

Atenção aqui:

r == a+b;

A variavel 'r' é do tipo inteira. Teoricamente e dependendo do compilador(isso é uma parte nerd e chata da linguagem), R deveria receber um valor inteiro, mas não recebeu e como ela não tem nenhum valor atribuido, o sistema operacional vai colocar qualquer valor na variavel 'r' e por isso aparece este tal número nada a ver.

Gostaria só de comentar um pouco essa questão. Talvez eu não deva estar falando sobre isso, até pelo que o ursolouco disse disso ser meio chato e tal e também pelo fato do Fc-hardware ser iniciante na linguagem, mas só por uma questão de esclarecimento pra outros usuários: Na realidade o valor já existia. Quando se declara uma variável, aloca-se espaço do tamanho do tipo da variável na memória (que no nosso caso é inteiro) e essa posição contém um valor nela, só não sabemos o que é até imprimir a variável. Então ao não atribuir um valor, é como se você Fc-hardware, estivesse aceitando o valor que já estava lá na posição de memória da sua variável, no endereço correspondente a ela. Logo, esse valor pode ser zero, um, -1, enfim, qualquer coisa.

Espero que o comentario seja pertinente ao tópico.

Abraços.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...