La fonction de
putchar() est de transmettre un caractère au terminal. putchar() est une fonction de sortie avec la syntaxe "putchar(char)". Elle peut écrire le caractère spécifié par le paramètre char (un caractère non signé) sur la sortie standard standard. La sortie de la fonction putchar() peut être un caractère, un entier décimal compris entre 0 et 127 (y compris 0 et 127) ou une variable de caractère définie avec char.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version c99, ordinateur Dell G3.
putchar() est une fonction en langage C. Sa fonction est de transmettre un caractère au terminal. La fonction
putchar() est incluse dans la bibliothèque standard C
La structure syntaxique est la suivante :
int putchar(int char)
Le caractère spécifié par le paramètre char (un caractère non signé) peut être écrit sur la sortie standard de sortie standard.
Paramètres :
char -- C'est le caractère à écrire. Le caractère est transmis avec sa valeur int correspondante.
Valeur de retour
Cette fonction renvoie le caractère écrit sous forme de caractère non signé converti en int ou EOF si une erreur se produit.
Explication
Cette fonction affiche les caractères correspondant à la valeur de l'expression spécifiée sur le terminal de sortie standard. L’expression peut être un type de caractère ou un type entier, et elle ne peut générer qu’un seul caractère à la fois. Par exemple : "putchar('#')" génère le caractère "#". Lors de l'utilisation de la fonction
putchar(), la fonction
putchar() peut-elle générer uniquement des données de type char ? Avec de tels doutes, j'ai effectué une vérification sur l'environnement. Les résultats de la vérification sont assez intéressants, j'aimerais donc les partager.
Quand on définit une variable a et qu'on lui attribue une valeur de 0 à 255, il n'y a évidemment aucun problème, comme le code :
#include<stdio.h>void main( ) { int a = 0; //将0值赋给变量a int b = 255; //将255值赋给变量b putchar(a) ; //输出变量a的值 putchar(b) ; //输出变量b的值 putchar('\n') ; }
Le résultat ne pose évidemment aucun problème.
Mais que se passe-t-il si la valeur attribuée est un nombre négatif maintenant ? Par exemple, le code :
#include<stdio.h>void main( ) { int a = -4646; //将-4646值赋给变量a int b = -2; //将-2值赋给变量b putchar(a) ; //输出变量a的值 putchar('\n') ; putchar(b) ; //输出变量b的值 putchar('\n') ; }
a constaté que la compilation est normale et que les résultats peuvent être générés, mais les résultats de sortie sont tous vides. Je ne sais pas pourquoi ?
Il existe une autre situation : que se passe-t-il lorsque la valeur attribuée est supérieure à 255 ? Le code est le suivant :
#include<stdio.h>void main( ) { int a = 592; //将592值赋给变量a int b = 267; //将267值赋给变量b putchar(a) ; //输出变量a的值 putchar('\n') ; putchar(b) ; //输出变量b的值 putchar('\n') ; }
Le résultat courant est :
On peut constater à partir du résultat que la valeur attribuée est tronquée en données de type char, ce qui signifie que seuls les huit bits de données inférieurs sont pris.
À partir de ces exemples, la fonction putchar() ne vérifie pas la véritable plage de caractères à afficher.
Conclusion :
Lors de son utilisation, vous devez faire attention à savoir si la plage de la variable de sortie est dans la plage d'un caractère. La sortie ne peut être correcte que dans la plage d'un caractère, sinon une erreur se produira. se produira certainement.
Recommandé : "Tutoriel de langue c"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!