多多汉堡肉 发表于 2018-12-12 20:05:48

大一女,求助C语言的字符串常量的长度的问题。谢谢好心人

期末复习遇到的小问题,谢谢好心人感激不尽!!!{:10_266:}






字符串常量"Hello,Bob!"占据的内存空间为?
答案为11

字符串常量"Hello, everyone! ”占据的内存空间为______个字 节?
答案为16


请问一下为什么第一个答案是10个英文还有标点符号的个数+1,是加了一个末尾的"\0"吗?



那为什么、不带转义字符的字符串

 如:“abc!x=/”,其长度为7

这个就不用加一了啊?


第二个答案因为我把感叹号末尾的空格也给算进去了所以才刚好等于16
我这样数正确吗?末尾还加1吗?


多多汉堡肉 发表于 2018-12-12 20:08:04

{:9_241:}

wongyusing 发表于 2018-12-12 20:14:20

多多汉堡肉 发表于 2018-12-12 20:08


我没记错的话,大写字母和汉字都算两个字节。

多多汉堡肉 发表于 2018-12-12 20:21:15

wongyusing 发表于 2018-12-12 20:14
我没记错的话,大写字母和汉字都算两个字节。

好的!谢谢啊{:9_240:}

多多汉堡肉 发表于 2018-12-12 20:38:19

破案了,是题目答案错了,应该是字符串常量"Hello, everyone! ”占据的内存空间为______个字 节?
答案为17

大写字母不占两个字节,自所以加了1,是因为C语言默认的在这个末尾加上“\0”这个占一个字节。

wongyusing 发表于 2018-12-12 20:48:55

刚才说错了
C语言字符串常量是默认n+1的。
刚看了wiki百科。才知道

wongyusing 发表于 2018-12-12 20:49:31

多多汉堡肉 发表于 2018-12-12 20:38
破案了,是题目答案错了,应该是字符串常量"Hello, everyone! ”占据的内存空间为______个字 节?
答案为1 ...

擦,那么快?

没有333 发表于 2018-12-13 17:04:48

wongyusing 发表于 2018-12-12 20:14
我没记错的话,大写字母和汉字都算两个字节。

大写字母应该也是一个

wongyusing 发表于 2018-12-13 17:07:40

没有333 发表于 2018-12-13 17:04
大写字母应该也是一个

大写小写都算1个字节。我看成是字符了
页: [1]
查看完整版本: 大一女,求助C语言的字符串常量的长度的问题。谢谢好心人