问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言 int和char

发布网友 发布时间:2022-04-23 12:32

我来回答

2个回答

热心网友 时间:2023-10-23 20:12

C语言是一种弱类型语言,如果使用熟练了你就会知道,类型什么的都是浮云,内存才是王道,考虑问题的时候要深入本质才行,关于这个问题从内存来看,如下:
char是字符型,内存中占用 1 个字节,取值范围是-128到127,int类型占用 4 个字节,范围就不说了,肯定是比char要大的多,这两个都是有符号数。
char和int一般情况下是可以直接做加减运算的,你可以直接把char当成一个int,只不过取值范围小点;
不同类型的数值在做运算时,以尽量不丢失有效数据为原则,比如char和int相加,系统会自动把char转换成int,最终结果也是int型;
赋值时如果类型不一样,要小心,若等号左边的类型小于右边的,会产生截断赋值(特别注意),大于的话就没问题,不会丢失有效数据。
如你写的第一句,A-B是int,C是char,比较时会先把char转换成int,也就是从1个字节变成4个字节,肯定不会丢失有效数据,没问题;
第二句,A+B是int,要赋值给char型C,相当于把4个字节的信息装到1个字节的内存中,这肯定放不下,因此会产生截断赋值,取A+B结果的最后一个字节赋值,前面三个字节则会丢掉,
所以这些写会有风险(当然编译肯定是过的,只是警告罢了),这种情况下,如果A+B结果没超过char取值范围,也问题,因为不会丢失有效数据,如果超过了的话,结果就不是它应该有的结果了,这是就要小心了,所以一般别这么写,除非你确定数据不会越界,一旦越界就会截断赋值(只是结果不对,但程序也不会崩溃的)。

满意请采纳。

热心网友 时间:2023-10-23 20:12

char可以转化为int
int可以转化为char
但是int*和char*不能互相转化
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 不是说int和char类型通用吗,那为什么这个。。。 C语言中的int char 的区别 int 和char的问题 char和int的关系 C语言中int 和char怎么读? C语言中,char 和 int 的区别是什么? int和char什么区别 我170身高,体重才51KG,每天在仰卧起坐,俯卧撑,跑步,求问健身达人,我该怎么做,才能长的壮一点。 int与char区别 身高186体重140,怎么在宿舍练腹肌和胸肌,谢谢 C语言中 char与int有什么区别? - 信息提示 俯卧撑和仰卧起坐的准备动作 或者叫热身的视频教程 在哪里找 求资源 急求800米长跑的仰卧起坐的训练方法 如何锻炼腹肌和人鱼线 求健身知名教练的视频教程或者合理的健身计划 怎样能在一、两个月内练出6块腹肌? 健身视频教程30分钟是什么? 微信卸载后重新安装不了,怎么处理 因为不小心卸载了'不知怎样重新安装微信 int 和char可以互相转换吗 char类型与int类型之间如何转换 C语言中,int和char型 C++中,int型和char型相乘如何运算? 单片机c程序int和char的区别。 是不是所有情况下char 和 int 都是通用的? 初学C语言,关于int和char 华罗庚的故事(50字) 数学家华罗庚的故事? 关于华罗庚的故事? 华罗庚的具体事例 数学奇才华罗庚的故事30字 关于华罗庚的事迹 华罗庚数学家的故事? 数学家华罗庚的故事 150字左右 华罗庚的数学故事二十字 大数学家华罗庚怎么死的? 数学家华罗庚的故事,急急急!万分感激!! 数学家华罗庚的故事(100字左右) 华罗庚的事迹?