Comment déterminer de sortie pour ce type de programme en c?

0

La question

#include <stdio.h>

int main()
{
    int var, rar;

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

Si je donne d'entrée comme bn nb, la sortie est -81319504 32767. Pourquoi?

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

La meilleure réponse

1

Exécuter cette auto-explicatif code avec des entrées différentes.

#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);
}

Pour l'entrée "3 nb", vous obtenez par exemple:

Scanf valeur de retour, devrait être de 2 en cas de succès: 1
Valeurs, 42 et 43 sont inits de ne pas réussir à ceux numérisés: 3 43

Pour l'entrée "bn 3", vous obtenez:

Scanf valeur de retour, devrait être de 2 en cas de réussite: 0
Valeurs, 42 et 43 sont inits de ne pas réussir à ceux numérisés: 42 43

Des informations détaillées, vous trouverez dans la documentation:

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

2021-11-24 07:41:45

Je suis en train de faire cette réponse à un doublon de "j'ignore scanf. Comment puis-je comprendre ce qui se passe?". Tout le monde n'hésitez pas à ajouter des réponses de meilleure qualité ou de critiquer la mienne.
Yunnosch

Dans d'autres langues

Cette page est dans d'autres langues

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