Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么编译器将字符视为整数?

为什么编译器将字符视为整数?
EN

Stack Overflow用户
提问于 2012-07-26 07:21:10
回答 4查看 885关注 0票数 4

我有一小段代码。当我在我的DevC++ gnu编译器上运行它时,它显示了以下输出:

代码语言:javascript
运行
AI代码解释
复制
 main ()
 {      char b = 'a';
        printf ("%d,", sizeof ('a'));
        printf ("%d", sizeof (b));
        getch ();
 }

产出:4 1

为什么'a'被视为整数,而b则仅被视为字符常量?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-26 07:21:58

因为字符文本在C中是int类型的,而不是char类型的。

所以sizeof 'a' == sizeof (int)

注意,在C++中,字符文字的类型是char,所以是sizeof 'a' == sizeof (char)

票数 9
EN

Stack Overflow用户

发布于 2012-07-26 07:27:04

这正是C语言最初定义的方式。为什么..。那时,C中的几乎所有东西都是int,除非有一个非常好的理由让它成为其他的东西。因此,历史上C中的字符常量具有int类型。

注BTW,在C术语中,'a'被称为常量,而不是文字。C有字符串文本,而没有其他文本。

票数 0
EN

Stack Overflow用户

发布于 2012-07-26 07:29:17

在C中,字符文字有int类型。

在C++中,只包含一个字符的字符字符具有char类型,它是一个整体类型。

在C和C++中,宽字符文字有wchar_t类型,多字符文字有int类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11672582

复制
相关文章
将DevOps视为哲学——实施DevOps的绝佳方式
经过此前的文章介绍,相信大家都对DevOps有了简单的了解。(回顾DevOps是什么、生命周期点这里:《DevOps生命周期,你想知道的全都在这里了!》)DevOps的概念和工具在近些年呈现如火如荼的趋势,且根据预测将持续增长。但DevOps并非一朝一夕就能实现,而是需要在循序渐进的使用中愈发熟练、完善。
陈哥聊测试
2020/09/14
4290
微软将Office 365视为设备+服务战略的引擎
越是厉害的人越谦虚,陆奇就是这样一个人,作为微软全球最懂服务的人之一,在微软“设备+服务“战略越走越扎实的时刻,他仍保持谨慎乐观。 从微软Build 2014下来,中国记者一行奔赴微软中国总部西雅图,在这里见到传说中的微软Title最高的华人高管——陆奇,这让中国记者十分兴奋。 而陆奇见到来自祖国的记者,也是格外亲切,大家兴致很高地畅聊了诸多话题,包括他的职业生涯,以及微软的设备+服务战略。 成功秘诀:幸运、遇到好的人 陆奇如今是微软的要害人物之一,其职位是微软应用和服务工程部执行副总裁和
静一
2018/03/16
1K0
C语言将整数递归转换成字符串
Time waits for no one。Treasure every moment you have。时光不等人,珍惜你所拥有的每分每秒吧!
小Bob来啦
2020/12/15
3.1K0
C语言将整数递归转换成字符串
字符串转换整数python_将Python字符串转换为Int:如何在Python中将字符串转换为整数
Unlike many other programming languages out there, Python does not implicitly typecast integers (or floats) to strings when you concatenate them to strings.
用户7886150
2021/01/14
4.1K0
字符串转换整数python_将Python字符串转换为Int:如何在Python中将字符串转换为整数
Unlike many other programming languages out there, Python does not implicitly typecast integers (or floats) to strings when you concatenate them to strings.
用户7886150
2021/01/14
4K0
strtol函数 将字符串转换为相应进制的整数
+----------------+ |   strtol   | +----------------+ i.e. string to long long int strtol(const char *nptr, char **endptr, int base) strtol()会将nptr指向的字符串,根据参数base,按权转化为long int, 然后返回这个值。 参数base的范围为2~36,和0;它决定了字符串以被转换为整数的权值。 可以被转换的合法字符依据base而定,举
marsggbo
2018/01/23
2.8K0
Valve网站改版,将VR视为其未来的发展方向
近日,Valve重新设计了自己的网站,其中,网站的第一行以醒目的红色粗体写道:“我们制作游戏、生产硬件以及运营Steam,欢迎你加入我们。”这表明硬件将成为Valve未来的一个核心组成部分,而VR将成
VRPinea
2018/06/11
5030
leetcode 回文数_将一个整数转换为字符串
请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。
全栈程序员站长
2022/09/22
1.1K0
NEJM | 将偏倚数据视为AI辅助医疗中的信息产物
今天为大家介绍的是来自Kadija Ferryman的一篇论文。在医学领域使用的人工智能(AI)工具,就像在其他领域使用的AI一样,通过检测大量数据中的模式来运作。AI工具能够检测这些模式,因为它们可以“学习”,或者被训练以识别数据中的特定特征。然而,使用以某种方式偏斜的数据进行训练的医学AI工具可能会表现出偏见,而当这种偏见与不公正的模式相符时,使用这些工具可能会导致不平等和歧视。虽然试图修复用于AI训练的有偏临床数据的技术解决方案是出于善意的,但支撑所有这些倡议的基本概念是,有偏的临床数据就像“垃圾”,就像计算机科学的格言“垃圾进,垃圾出”所指的意思。相反,作者提出将临床数据视为信息产物,当审视这些产物时,它们可以为所在的社会和机构提供信息。将有偏的临床数据视为信息产物可以识别医学和卫生保健领域中的价值观和不平等模式。将临床数据视为信息产物进行审视还可以为当前的医学AI开发方法提供替代方案。此外,将数据视为产物的这种框架将修复有偏AI的方法从狭义的技术观点扩展到了社会技术的视角,考虑历史和当前的社会背景作为解决偏见的关键因素。这种更宽泛的方法有助于实现公共卫生目标,理解人口不平等问题,还为将AI用作检测与健康平等相关的种族和民族纠正、缺失数据和人口不平等模式的新方法提供了可能。
DrugAI
2023/10/08
2540
NEJM | 将偏倚数据视为AI辅助医疗中的信息产物
字符串转整数
/* 功能:字符串转整数 日期:2013-06-19 */ #include <stdio.h> #include <stdlib.h> #include <string.h> void StringToInteger(char *str,int *number); int main(void) { char ch[1000]={0}; int num[1000]; printf("请输入一个数字字符串"); gets(ch); StringToInteger(ch,num); prin
WindCoder
2018/09/20
1.6K0
int转换为char数组_C语言将整数转化为字符串
如int i=1;在程序中直接将强制将i转换成char类型char a=(char)i,会发现a并不是’1’而是’\0001′,原因是在将i转换成char时,默认的会把i的值当成ASCII值,这样a的值就是’\0001’了
全栈程序员站长
2022/11/03
3.5K0
字符串转换整数 (atoi)
难度:中等 来源:8. 字符串转换整数 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 字符串包含的字符包括:数字、大小写字母、+、-、空格。 字符串能够转成整数必须满足如下要求: 字符串第一个字符必须是数字或者 +、- 符号之一; +、- 或者数字之间必须是连续的才能转成整数; 其他情况下无法进行有效转换的时候返回 0; 转换后的数字必须在 [ , - 1] 之间。 示例 1: 输入: "42" 输出: 42 示例 2: 输入: " -42" 输出: -42 解释: 第一个非空白
用户4456933
2021/06/01
1.8K0
罗马字符转整数(python)
字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。
全栈程序员站长
2022/11/10
7490
将位序列存储为整数
如果要将一系列布尔参数传递给方法,一种常见的方法是将它们作为编码为单个整数的位序列传递。
用户7741497
2022/08/03
4820
Python如何将整数转化成二进制字符串
>>> binary = lambda n: '' if n==0 else binary(n/2) + str(n%2)
用户7886150
2021/01/14
1.6K0
C语言 | 递归将一个整数n转换成字符串
例73:C语言用递归方法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”,n的位数不确定i,可以是任意位数的整数。
小林C语言
2021/02/01
6K0
C语言 | 递归将一个整数n转换成字符串
Go 字符串转整数
image.png image.png
用户5760343
2019/07/17
1.4K0
Go 字符串转整数
LeetCode - 反转字符串&字符串转换整数
2020年的第一天,必须更新一条公众号,证明自己还在努力刷题(几周写一题),努力写公众号中。
晓痴
2020/01/15
8560
C语言之字符、整数、数组、字符串笔记
每种类型占用内存空间不一样,比如char占一个字节,short占2个字节,int占4个字节,double占8个字节
tandaxia
2018/09/27
2.7K0
C语言之字符、整数、数组、字符串笔记
LeetCode 字符串转换整数 (atoi)(字符串)
请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:
SakuraTears
2022/01/13
3940

相似问题

为什么不将字符视为整数?

10

将字符串视为整数

37

为什么Matlab阶乘函数将整数视为非整数?

11

Rails/Postgres将字符串列视为整数

11

将字符串视为整数进行排序

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档