c语言-C语言sizeof("") strlen("")

问题描述

C语言sizeof("") strlen("")

在32位编译系统中,字符型变量占1个字节,则sizeof("") 、strlen("")分别为()A.1 2 B.2 1 C.2 0 D. 2 2
求大侠详细解释

解决方案

sizeof("")=2
sizeof是编译器在编译时计算,计算括号中内容的大小,注意,这和地址没关系,因为这发生在编译期
那么""是多大呢?是1个字符,再加上一个字符结束符(也是),共2个。
如果有疑问的话,自己试一下sizeof("a"),sizeof("a")等就明白了,从这里可以发现,字符串中间是可以有的。
strlen("")=0
这个只要知道strlen是怎么计算字符串长度的就可以很容易得出答案了,该""大小为2,且两个都是,遇到第一个就结束了,所以是0

解决方案二:

sizeof 包括 '/0' ; strlen 不包括

解决方案三:

2 0
sizeof() 0 算个2字符
strlen遇到结束

时间: 2024-11-29 09:27:14

c语言-C语言sizeof("") strlen("")的相关文章

win7如何更改语言 电脑语言改成英文的方法

今年evad3rs团队发布的iOS 7完美越狱工具有些特殊,中国版iOS7完美越狱工具中,捆绑有太极助手插件,此插件类似流氓插件,容易导致iOS越狱设备出现白苹果现象(国外版无此插件).目前比较好的解决办法是:在使用电脑中越狱的时候,将电脑语言改为英文,可绕过该插件.但很多电脑小白用户还不知道如何更改电脑语言,因此本文将为大家详细介绍下电脑语言更改教程. 如何更改电脑语言 电脑语言改为英文方法 以下笔者以Windows 7系统截图演示,教大家如何更改电脑语言.其他XP或者Win8系统设置方法与此

c语言-C语言递归的内存释放问题

问题描述 C语言递归的内存释放问题 我用C语言实现alpha-beta极小极大算法来做一个棋类游戏的AI,博弈树是用递归的方式构造的,然后发现AI每下一步程序的内存都在增大,原来是因为递归没有释放内存. 耗内存的指针是棋盘 char ** chessboard; 于是我在递归函数的每一个return之前都把 chessboard 给释放了,发现内存还是一直在涨,求解.. 解决方案 把递归函数实现贴出来. 解决方案二: 估计释放的不全.二级指针要分两级释放. 解决方案三: 二级指针的释放是要分两步

安卓app多语言多语言切换

问题描述 安卓app多语言多语言切换 请问大神们可以帮助我吗?在我的程序里面我想实现多语言切换,调用系统的语言设置, 改变我自己的app语言,但是不改变系统的显示语言,这样怎么实现? 解决方案 http://blog.csdn.net/forrey/article/details/44547813 去这里看看说不定对你有帮助! 解决方案二: http://my.oschina.net/jack1900/blog/290694http://blog.csdn.net/cento123/articl

c语言-C语言实现文件合并的问题

问题描述 C语言实现文件合并的问题 之前已经编写了一个程序,可以实现.txt的文件内容追加写,可是对两个视频操作的时候就行不通了.但是又不知道问题出现在哪里,视频能合并,文件大小是两个文件的和,可是新和成的文件内容只显示一个文件的内容.这个要怎么解决. 解决方案 视频文件不是简单两个文件叠加.视频文件包含复杂的结构,文件头部分指定了这个视频的格式,有多少帧,存储的偏移地址是什么你简单合并两个文件,播放器只知道根据第一个文件的文件头找数据,附加在后面的第二个文件是读不到的.你需要重新编码得到一个完

c语言-C语言的文件问题????????

问题描述 C语言的文件问题???????? 我如果想往C的文件里写入数据,我要事先手动建立一个.txt文件吗?还是有其他方法自动创建? 解决方案 O(NlgK)问题优先队列实现文件C语言C语言中头文件相互包含问题c语言中,文件路径读取问题 解决方案二: 不用手动建立文件的,c语言里有很多文件操作函数,可以自动建立文件,并可以写入你想写入的数据 解决方案三: 我也想提这样的问题.不过既然是C的文件,我觉得应该是创建.C文件吧,.TXT是文本格式的,估计是不行的. 解决方案四: c语言中可以通过代码

c语言-C语言用sizeof求数组长度,为什么结果不对?

问题描述 C语言用sizeof求数组长度,为什么结果不对? int aaaaa[10]; printf("%d/n",sizeof(aaaaa)); 结果是40? 解决方案 printf("%d/n",sizeof(aaaaa) / sizeof(int)); 解决方案二: sizeof求的不是数组的长度而是数据占用的空间,单位是字节

c语言-C语言malloc后使用sizeof的问题

问题描述 C语言malloc后使用sizeof的问题 编译器visual studio 如下代码: int **ip; ip = (int **)malloc( sizeof(int*) *2); for(int i = 0;i < 2 ; ++i) { ip[i] = (int *)malloc(sizeof(int) * 3); } //测试sizeof(ip)/sizeof( int *)值为1, //sizeof(p)值为4, //测试sizeof(ip[0])/sizeof( int)

c语言-C语言中如何把字符串&amp;amp;quot;2A&amp;amp;quot;转换成0x2A?

问题描述 C语言中如何把字符串"2A"转换成0x2A? 如题:C语言中如何把字符串""2A""转换成0x2A?有没有现成的函数,或者提供一直转换思路? 解决方案 思路:对字符串中每个字符判断是 0 到 9,还是 A 到 F对这两种情况进行处理,是第一种减去 0x30 就是对应的数字:第二种减去 'A',再加上 10.如果字母有小写的情况,也需要考虑. 解决方案二: 思路,手写的.int result = 0;for (int i = 0; i &

编程c语言-c语言指针问题 char *p=&amp;amp;quot;abcdefg&amp;amp;quot;+1; 为什么会报错,const char*无法转换为char*

问题描述 c语言指针问题 char *p="abcdefg"+1: 为什么会报错,const char*无法转换为char* char p="abcdefg"+1: 为什么会报错,const char无法转换为char* 解决方案 abcdefg是const 不能直接加一 解决方案二: 我想我知道了,字符串是const的对象所以指向他的指针也必须用const修饰,但这样又有个问题了char* p="ddd":为什么就可以呢?"ddd&q