char类型怎么输入 c语言_C语言中的char

e9d9693fb7df56218f69fadfa4bb3b61.png

C语言中的char是用于声明单个字符的关键字。char关键字具有一些很奇怪的特点,但是想要了解这些奇怪的特点为什么会存在,我们就要先了解char关键字的原理。char关键字会在内存中找到一字节的空闲空间,并且在里面写入一个从0到255的整型(int)值。正是因为这个原因,我们在使用char的时候就会发现一些很奇怪的现象。大家请看这个例子:

#include 

大家运行一下这个程序就会发现,第一个printf函数输出了a和b,但第二个printf函数则输出了97和98。这里大家可能就要奇怪了,我明明声明的是两个字符,为什么第二个语句却输出了两个数字?我是用了假的char吗?事实上,这就恰好证明了char实际上是在内存里存储整型。也正是因为这个原因,我们在C语言中无法直接声明字符串,而是需要先创建一个char类型的数组,创建好之后,在向里面写入字符变量。接下来,我们再来看看char类型的溢出。大家可以看看这个例子:

#include <stdio.h>
void main(){char a = ' ';char a_plus_1 = a + 100;printf("%d, %d", a, a_plus_1);
}

如果大家运行一下,就会发现a的输出为34,34+100想必小学生都能很轻松的算出来,但是结果却不是我们想的那样,而是-124。这是因为char类型只使用了一字节的空间,因此能存储的数字范围很小。那么,溢出又是怎么一回事呢?让我们来看看:

假设有一条二进制消息,占用一字节空间,内容如下:

1 0 1 0 1 0 1 0

现在从右边写入一个比特位,内容为0。内容变为:

0 1 0 1 0 1 0 0

我们可以用一种相当形象的方式来理解溢出,即在一个台子上,放着许多物品,这些物品就是数据。这时候,右边突然挤过来别的什么东西,这是新的数据。这个数据被放到台子上之后,所有的数据都左移了一格,而最靠边的数据则被挤掉了,这就是为什么我们会看到32变成-124这样离谱的答案。

本人正在跟随B站上的C语言教程学习C语言,随后将会继续分享心得体会,欢迎多多指教。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无法创建ole db取值函数。请查看列元数据是否有效_[C++ Primer plus 心得]3.处理数据...

本章内容包括&#xff1a;C变量的命名规则。C内置的整型----unsigned long、long、unsigned int、int、unsigned short、short、char、unsigned char、singed char 和boot。C11新增的整型&#xff1a;unsigned long long 和long long。表示各种整型的数字字面值(常量)使用const…

android+ios打印机,Android/iOS手机安装HP打印机的详细方法和操作步骤

如今人们越来越依赖手机&#xff0c;手机几乎成为了生活必需品&#xff0c;其功能越来越多&#xff0c;对其他电子设备的操控能力也越来越强&#xff0c;那么手机如何操控打印机呢?今天小编就跟大家分享一下手机是如何通过无线安装打印机的。备注&#xff1a;本文以Android系统…

麒麟980可以升级鸿蒙吗,这五部麒麟980手机确定能升鸿蒙OS,其中有你吗?

原标题&#xff1a;这五部麒麟980手机确定能升鸿蒙OS&#xff0c;其中有你吗&#xff1f;就在今年九月的华为开发者大会上&#xff0c;余承东“一不小心”吐露出EMUI 11明年能升级鸿蒙OS 2.0的事实&#xff0c;这让许多华为用户兴奋不已&#xff0c;但首先你的手机必须要先能升…

python没有指针如何实现链表_Java、Python中没有指针,怎么实现链表、图等数据结构?...

Java、Python中没有指针&#xff0c;怎么实现链表、图等数据结构&#xff1f; (2016-10-06 11:08:19) 分类&#xff1a; C 其实Java, python完全可以看成在语言层用语法糖隐藏了指针。JAVA中到处充满指针&#xff0c;只不过把C中的指针封装成了对象的引用了&#xff0c;引用就相…

android语言列表+波斯,Android 多语言入门及实战

右键res&#xff0c;选择 New Resource Directory ,选择 locale ,选择自己想要适配的语言类型设置应用内多语言Android 7.0以下/*** 设置多语言*/public void setConfiguration(LocaleList locales, Context context) {Configuration configuration context.getResources().ge…

c# 从地址拷贝byte_面试必备的 “零拷贝” 问题!从头给你说!

本文作者&#xff1a;ksfzhaohui来源&#xff1a;juejin.im/post/5cad6f1ef265da039f0ef5df前言I/O概念1.缓冲区2.虚拟内存3.mmapwrite方式4.sendfile方式Java零拷贝1.MappedByteBuffer2.DirectByteBuffer3.Channel-to-Channel传输Netty零拷贝其他零拷贝总结前言从字面意思理解…

lda 可以处理中文_中文分词(jieba)和语料库制作(gensim)

本文的内容为以下两个部分&#xff1a;文本分词&#xff08;jieba&#xff09;语料库制作&#xff08;gensim&#xff09;结巴&#xff08;jieba&#xff09;分词在自然语言处理领域中&#xff0c;分词和提取关键词都是对文本处理时通常要进行的步骤。用Python语言对英文文本进…

js时间搓化为今天明天_秋冬国产搓背神器!360°无死角,让你搓背不求人,太舒服了...

秋冬国产搓背神器&#xff01;360无死角&#xff0c;让你搓背不求人&#xff0c;太舒服了&#xff01;夏季悄然离去&#xff0c;秋季快步走来&#xff0c;距离冬季也不远了~天气变冷以后&#xff0c;下班、放学回家了最惬意不过的就是洗个澡&#xff0c;如果泡完澡再搓个背&…

用html制作广告图片切换效果,基于jquery实现图片广告轮换效果代码

效果图:实现代码:hotmarquee*{margin: 0;padding: 0;}body{font: 12px;padding-top: 50px;padding-right: 200px;padding-bottom: 100px;padding-left: 200px;}ul{list-style: none;}img{padding: 2px;border: 1px solid #eee;}a{outline: none;}#imgs{width: 410px;margin-rig…

matplotlib柱状图上方显示数据_Python数据分析matplotlib可视化之绘图!

Matplotlib是一个基于python的2D画图库&#xff0c;能够用python脚本方便的画出折线图&#xff0c;直方图&#xff0c;功率谱图&#xff0c;散点图等常用图表&#xff0c;而且语法简单。Python中通过matplotlib模块的pyplot子库来完成绘图。Matplotlib可用于创建高质量的图表和…

应付账款账龄分析模板_企业财务报表分析论文应如何着手?

首先是企业的选择&#xff0c;最好选取上市公司进行分析&#xff0c;上市公司的财务数据比较透明&#xff0c;完全可以从新浪财经、中国证券网等平台获得详尽的报表数据资料&#xff0c;一般选取近三到五个年度。有了数据就可以着手分析了&#xff0c;我们可以从下面几个方法入…

dbeaver导入excel文件_PyQT5练习:制作Excel文件导入MySQL窗口

本文环境配置&#xff1a;系统>windows10&#xff1a;64位工具>PyCharm&#xff1a;2018.3.1语言>Python&#xff1a;3.7.1第三方库PyQT5&#xff1a;5.11.3pyqt5-tools&#xff1a;5.11.3.1.4PyMySQL&#xff1a;0.9.3openpyxl&#xff1a;2.5.12练手&#xff1a;制作…

编程中的蛇形填空问题_PCB—蛇形线的作用,这次真的是把你搞懂了

经常能看到论坛里有人在问蛇形线的问题。平时我们能看到蛇形线的地方大都是一些高速高密度板&#xff0c;好像带有蛇形线的板子就更高级&#xff0c;会画蛇形线就是高手了。网上关于蛇形线的文章也有很多&#xff0c;总感觉有些帖子的内容会误导新手&#xff0c;给人们带来困扰…

html5控制gif速度,gif加速软件 教你加快GIF图片的播放速度

一位狸友在编辑GIF动态图片时碰到了一个问题&#xff0c;就是不知怎么把GIF动画的播放速度加快(或减慢)。如果你也正巧碰到此类疑问或想知道GIF加速的方法&#xff0c;可以接着往下看哦。其实先理解了GIF动画的原理&#xff0c;并找对合适的gif编辑软件&#xff0c;解决这问题并…

android studio mvvm模板生成_使用Vue快速生成shape背景图

写在前面在日常的Android开发之中&#xff0c;我们通常都会根据UI图去手动创建shape或者selector背景图&#xff0c;虽说创建起来很简单&#xff0c;但是未免也会感到繁琐&#xff0c;因此也研究了一些这方面的知识&#xff0c;包括自定义shapedrawable、dataBinding&#xff0…

python 句子中没有中文_人生感悟经典句子,生活中可以没有诗歌,但不能没有诗意...

也曾有过一些热忱和勇气&#xff0c;为了自以为的命中注定颠沛流离&#xff0c;本想有一段花好月圆&#xff0c;却未曾想过就此天各一方。不是不爱&#xff0c;不是不会爱&#xff0c;只是少了坚持走下去的勇气。想必这是很多人的心声。错过抑或过错&#xff0c;都是爱情里常有…

图像迁移风格保存模型_图像风格迁移也有框架了:使用Python编写,与PyTorch完美兼容,外行也能用...

原标题&#xff1a;图像风格迁移也有框架了&#xff1a;使用Python编写&#xff0c;与PyTorch完美兼容&#xff0c;外行也能用选自Medium作者&#xff1a;Philip Meier 机器之心编译 编辑&#xff1a;陈萍 易于使用的神经风格迁移框架 pystiche。 将内容图片与艺术风格图片进行…

vivo设置全屏后状态栏黑色_vivo手机用2年内存占满,是这3个功能捣乱,一键按下全部释放...

vivo手机用2年内存占满&#xff0c;是这3个功能"捣乱"&#xff0c;一键按下全部释放经常使用手机如果没有清理习惯&#xff0c;那么应用一多&#xff0c;产生的文件就会变多&#xff0c;这样手机就会没用2年就出现卡顿的现象。今天来教大家怎样一键释放vivo手机内存。…

学计算机之路写一篇作文,我的学习之路作文(2篇)

我的学习之路作文(2篇)在我们平凡的日常里&#xff0c;大家对作文都再熟悉不过了吧&#xff0c;作文根据写作时限的不同可以分为限时作文和非限时作文。那要怎么写好作文呢&#xff1f;以下是小编整理的我的学习之路作文&#xff0c;仅供参考&#xff0c;欢迎大家阅读。我的学习…

js生日计算年龄_你知道用EXCEL可以从身份证中提取生日、性别、年龄、生肖吗?...

首先我们先了解下中国身份证号码的编排规则&#xff0c;中国公民身份证共18位&#xff0c;1~6位为省份地区信息码&#xff1b;7~14位为出生日期码&#xff1b;15~16位数字表示所在地的派出所的代码&#xff1b;第17位数字表示性别(奇数表示男性&#xff0c;偶数表示女性)&#…