Quelques problèmes sur la fonction scanf rencontrés lors de l'apprentissage du langage C

En tant que nouveau venu en C, la première fonction rencontrée est l'entrée et la sortie, le classique Hello world

Mais récemment, j'ai rencontré un problème lors de l'apprentissage de la conversion de types de données :

#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>

int main(){
    int a1,a2;
    scanf("%d",&a1);
    a2 = scanf("%d",&a2);

    printf("a1:%d\n",a1);
    printf("a2:%d\n",a2);
	return 0;
}

Y a-t-il une différence entre ajouter une valeur de retour à la fonction scanf et ne pas ajouter de valeur de retour ?

Par exemple, la structure de a1 a2 obtenue en saisissant deux 10 est :

Quelqu'un peut-il y répondre s'il vous plaît ? Merci beaucoup

-------------------------------------------------- -------------------

Ce problème a été résolu. Les valeurs de retour de scanf et printf font toutes deux référence au nombre d'éléments d'entrée (sortie), tels que

printf("%d", printf("%d", printf("%d", 43)));


// 最后的结果是
4321

De manière plus intuitive, c'est

printf("%d\n", printf("%d\n", printf("%d\n", 43)));

// 最后的结果是
43
2
1

(Le titre vient de l'enseignement de la langue C de Peng Ge à la Station B)

-------------------------------------------------- -------------------

Résumé : Si vous rencontrez des problèmes liés à des fonctions que vous ne comprenez pas, vous pouvez effectuer une recherche sur certains sites Web tels que C reference - cppreference.com . Une chose à dire, C est vraiment plus difficile que python.

Acho que você gosta

Origin blog.csdn.net/m0_57099194/article/details/124310376
Recomendado
Clasificación