• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

putchar()是啥功能

武飞扬头像
PHP中文网
帮助55

前言

putchar()的功能是向终端输出一个字符。putchar()是一个输出函数,语法“putchar(char)”,可以把参数char指定的字符(一个无符号字符)写入到标准输出stdout中。putchar()函数的输出可以是一个字符,可以是介于0~127之间的一个十进制整型数(包含0和127),也可以是用char定义好的一个字符型变量。

正文

本教程操作环境:windows7系统、c99版本、Dell G3电脑。

putchar()是c语言中的一个函数,功能是向终端输出一个字符。

putchar()函数包含在C 标准库 <stdio.h>中。其输出可以是一个字符,可以是介于0~127之间的一个十进制整型数(包含0和127),也可以是用char定义好的一个字符型变量。

语法结构为:

int putchar(int char)

可以把参数char指定的字符(一个无符号字符)写入到标准输出stdout中。

参数:

  • char -- 这是要被写入的字符。该字符以其对应的 int 值进行传递。

返回值

  • 该函数以无符号 char 强制转换为 int 的形式返回写入的字符,如果发生错误则返回 EOF。

说明

  • 该函数将指定的表达式的值所对应的字符输出到标准输出终端上。表达式可以是字符型或整型,它每次只能输出一个字符。例如:“putchar('#')”输出字符“#”。

putchar()函数使用

putchar()函数难道就只能输出char型的数据么?带着这样的疑问,在环境上进行了验证,验证结果还蛮有意思,共享一下。

当我们定义一个变量a,并给a赋予0~255的值,很显然没有问题,如代码:

#include<stdio.h>void main( )
{     int a = 0;  //将0值赋给变量a
     int b = 255;  //将255值赋给变量b
     putchar(a) ; //输出变量a的值
     putchar(b) ; //输出变量b的值
     putchar('\n') ;
}

结果显然没有问题。

但如果现在赋值为负数呢?如代码:

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

发现编译正常,也能输出结果,只是输出的结果都是空,我也不太清楚是什么原因?

还有一种情况是,赋的值大于255时,会怎样?代码如下:

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

运行结果为:

学新通技术网

从结果中可以发现,赋的值被截断成char型数据了,也就是说只取了低八位的数据。

从这些示例来说,putchar()这个函数不会检查要输出的字符的真正范围。

结论:

在使用的时候需要注意,输出变量的范围是不是一个字符的范围内,只有在一个字符的范围内才能正确输出,不然肯定会出错。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfbgkc
系列文章
更多 icon
同类精品
更多 icon
继续加载