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

C语言字符串常量的一个问题。

发布网友 发布时间:2022-05-29 20:47

我来回答

1个回答

热心网友 时间:2023-11-24 11:52

字符串遇到\0表示结束
第一个字符串就相当于"abc123",那么长度为6
第二个字符串就相当于"abc",那么长度为3

但是实际操作发现并非如此,如下程序:
#include <stdio.h>
{
char c1[0x20] = {0};
memcpy(c1, "abc123\01de\n", 0x20);
printf("%s\n", c1);
char c2[0x20] = {0};
memcpy(c2, "abc\09de\n", 0x20);
printf("%s\n", c2);

printf("%d\n", strlen(c1));
printf("%d\n", strlen(c2));
}
第一个字符串并不能正确识别"\0",而是将"\01"看做一个字符,"\n"是一个字符,表示换行,这个你应该知道,结果第一个字符串长度为10
第二个字符串可以正确识别"\0",所以第二个字符串长度为3
C语言 字符常量问题

答案选B A选项为字符串常量:字符串常量是由一对双引号括起的字符序列。B选项为字符常量:字符常量是用单引号括起来的一个字符。例如:'a'、'b'、'='、'+'、'?'都是合法字符常量。C还允许一种特殊形式的字符常量,就是以一个‘\’开头的字符序列。在C语言中,字符常量有以下特点:字符常量只...

呵呵,问一个C语言里字符串长度的问题。

字符串长度单位是字节个数。字符串长度 从 字符串开始计算,遇到 字符串结束符 结束,结束符 不算在 字符串 长度里。一对 单引号 括起的 是 一个 “字符常量”, 占 1个字节长度。用反斜杠开始的字符叫 转意/转义 字符。\" 表示1个双引号字符。1 表示字符 1 \43 表示 是 8 进制数 ...

想请教下关于C语言中的字符常量问题

'\'是转义字符,意思就是'\'后的字面不是原来的意思,最常见的就是'\n'表示换行,明白了这个,下面就好讲解了 \x表示的是十六进制,例如\xa表示的是10,\xf,表示的是15,\xff表示的是255(15*16+15)\o表示的是八进制,所以\028表示2*8+8=24 所以c是对的 至于B为什么不合法,因为么有\f...

C语言中指向字符串常量的指针问题

注意:你这个问题是个特例,在C语言里实际上是可以修改的,且在 TC 下可以通过。如果你用VC,也通过了编译,的确字符串常量是不能修改的,但是编译器并不认为p[0]='x'有任何错误,所以它编译的时候没有问题都,连接也不会有问题,但是运行的时候一定会出错。也就是能弹一个内存错误。如果你不想...

C语言里为什么字符指针变量指向的字符串常量中的内容是不可取代的?

指向字符串常量的话,这段常量字符串是存储在静态存储区的,内容不能修改。当然你可以让指针指到别的地方

关于c语言的一个问题

题目 ??答案很简单,因为字符串 abcd\b\123\xab ,系统会自动在最后补'\0'。 求字符串的长度时,系统只有读到了'\0'时,才会中止; 那为什么是“7” 个呢?首先,abcd 这里有4个,这个没问题吧;第二,你要明白,字符串是有“字符” 构成的,而字符 包括 ,“字符常量”和“控制字符”...

C语言字符串常量,字符数组占内存大小问题?

用函数求的长度其实就是字符串长度,而非占内存大小。因此长度是4,占内存是5,最后有个'\0'做结束符,不是'\n'。字符数组如果是字符串就是这规则,否则不是

c语言用指针定义字符串常量问题

有思考~真不错~你试试printf("%p\n%p\n%p\n",nam1,nam2,nam3);就是把取地址符去掉,这样就是打印的常量字符串的地址了。你打印出来的是新生成的三个指针变量的地址,确实不同;三个指针变量指向的地址确实是相同的(也就是常量字符串的地址),概念混淆了。

c语言字符与字符串问题

不是同一类型,字符'a'只占了一个字节,字符串的后面是有个结束符'\0',因此"a"实际的储存空间站两个字节,为{a,\0}

请教几个有关C语言的问题: 1、为什么‘cd’不能做为C语言合法常量?而0.1...

(1) 用单引号括起的是字符常量,'cd' 含2个字符,也不是转义字符,所以不是合法常量。0.1e+6 是合法的 E 格式 浮点数。(2)char a='aa'; 用单引号括起的是字符常量,'aa' 含2个字符,也不是转义字符,所以不是合法常量。'n' 是合法字符常量, '\x2d' 是合法字符常量, 单引号里...

字符常量和字符串常量 c语言字符串常量占几个字节 字符串常量中的字符个数 字符串常量和字符常量有什么区别 C语言的枚举元素能否为字符串常量 c语言正确的字符串常量 c语言字符串常量有哪些 c语言字符串常量表示方法 c语言中字符串常量定义
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
注册造价工程师要什么条件 西城区有哪些高中比较好? 北京哪个区的高中比较好? x360美版和欧版有区别吗?游戏通玩? 在ps2上怎样看怎样区分游戏是美版还是欧版 谢了 请教一下如何区分买回来的游戏是美版还是欧版 中考电话号码要核验嘛 你好!我考研考哈工大!!求外校近几年外校考哈工大的分数线,大概多少分... ...报考哈工大(威海校区或者深圳校区)的通信专业,想向你多咨询一下... ...第一年考的哈工大通信考了340,哈工大的专业课实在太难... 股票换手率什么意思?年线60日线 30 20 5日线与价格分别有什么影响 关于C语言中字符常量和字符串常量的问题 字符串常量与输入获得的问题 如何在命令窗口输入字符型常量 换手率5%~10%说明什么 C语言怎样字符串常量 c语言多种常量的输入 C语言怎么输入一个常量? 我是苏州用户,怎么样能买到海尔工厂直销的洗衣机? 海尔冰箱全国直销店是什么单位 《全民k歌》戴皇冠代表什么? 海尔集团在网络直销中的销量是多少? 海尔电器厂家直销是真的吗 海尔的“人单合一”、“直销直发”、“正现金流”各自是什么意思呢? 海尔电器现在经营模式是直销吗? 哪位大虾可以帮我把这几个英文文摘 参考资料翻译成中文? 参考文献翻译成英文 求大神帮忙 感谢 步步高段永平哪里人 复盘大师怎么增加交易品种 成都钵钵鸡的做法 MFC对话框应用程序,如何定义字符串常量及使用的问题 2127000元大写怎么写? 212.00元,大写怎么写 212.00元,大写怎么写 A1单元格里的带小数点的数字,如212.23,翻译成大写储存到B1里格式是:总计人民(大写):贰佰壹拾贰元贰角 A1单元格里的带小数点的数字,如212.23,翻译成大写储存到B1里格式是:总计人民(大写):贰佰壹拾贰元贰角 212.0172的大写 五言律诗212结构中,平行语和非平行语的区别是什么呢? 五言律诗212结构中,平行语和非平行语的区别是什么呢? 科龙空调安装的时候没给抽真空可以吗?如果不可以怎么办?求大神解决 比比先通分再比较42分之6和3分之二哪个大写过程? 科龙定频空调没抽真空 科龙空调安装两个月后才知道要抽真空,现在卖家说抽过了,如何维权? 悬崖之上医生是谁演的 悬崖之上枪毙的两个人是谁 线路感应电对可编程自动化控制器(PAC)有什么样的影响 PAC传送带控制系统别业论文 模板 求大哥大姐来帮帮吧! 《马上沉思录》的作者马可&#12539;奥勒留和电影&lt;角斗士&gt;马库斯.奥里利乌斯是不是同一个人? 李克勤唱功无敌获奖超过200项,可为何始终与天王巨星头衔无缘? 哲学家皇帝读后感