Como determinar a saída para este tipo de programa em c?

0

Pergunta

#include <stdio.h>

int main()
{
    int var, rar;

    scanf("%d %d", &var, &rar);
    printf("%d %d", var, rar);
}

Se eu der entrada como bn nb, a saída será -81319504 32767. Por quê?

c output
2021-11-24 04:26:51
1

Melhor resposta

1

Executar esta auto-explicando o código com diferentes entradas.

#include<stdio.h>
int main(void)
{ 
    int var=42,rar=43;
    printf("Scanf return value, should be 2 in case of success: %d\n", scanf("%d %d",&var,&rar));
    printf("Values, 42 and 43 are inits of not successfully scanned ones: %d %d",var,rar);
}

Para a entrada "3 nb" você consegue, por exemplo:

Scanf valor de retorno, deve ser de 2 em caso de sucesso: 1
Valores, 42 e 43 são inits de não digitalizada com êxito queridos: 3 43

Para a entrada do "bn 3", você obterá:

Scanf valor de retorno, deve ser de 2 em caso de sucesso: 0
Valores, 42 e 43 são inits de não digitalizada com êxito queridos: 42 43

Informações detalhadas que você vai encontrar na documentação:

https://en.cppreference.com/w/c/io/fscanf

2021-11-24 07:41:45

Eu estou fazendo esta resposta para ter uma duplicados para o "eu ignorar o scanf. Como posso entender o que acontece?". Todo mundo sinta-se livre para adicionar melhores respostas ou criticar o meu.
Yunnosch

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................