社区
C语言
帖子详情
不知道这个问题有人问没???
猪头小哥
2011-11-07 10:33:44
#include <stdio.h>
#include <string.h>
int main()
{
char a[1000];
int i;
for(i = 0; i < 1000; i++)
{
a[i] = -1 - i;
}
printf("%d\n",strlen(a));
return 0;
}
答案是255 希望回答的人能简单明了点~~~非常感谢~~~
...全文
101
11
打赏
收藏
不知道这个问题有人问没???
#include #include int main() { char a[1000]; int i; for(i = 0; i < 1000; i++) { a[i] = -1 - i; } printf("%d\n",strlen(a)); return 0; } 答案是255 希望回答的人能简单明了点~~~非常感谢~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iamnobody
2011-11-07
打赏
举报
回复
[Quote=引用 8 楼 zhutou100hao 的回复:]
好像不对 应该是a[255] = 0;应该strlen()遇到\0就停止 不会算上这个的 是吧??
[/Quote]
的确没有算上这个,所以才为 255;
是从a[0]开始算的。a[0]到a[254];一共有255个char.
猪头小哥
2011-11-07
打赏
举报
回复
[Quote=引用 9 楼 mingliang1212 的回复:]
引用 2 楼 zhutou100hao 的回复:
不是遇到\0才停止的么??怎么遇到0就停止了??
'\0'的值就是0;
[/Quote]
嗯嗯 知道了~~
iamnobody
2011-11-07
打赏
举报
回复
[Quote=引用 2 楼 zhutou100hao 的回复:]
不是遇到\0才停止的么??怎么遇到0就停止了??
[/Quote]
'\0'的值就是0;
猪头小哥
2011-11-07
打赏
举报
回复
[Quote=引用 6 楼 cai0538 的回复:]
首先明确以下两点:
1)strlen函数是以字符串中的'\0'来判断字符串是否到末尾的,'\0'对应的十进制为0;
2)char占字节数为1,表示的数值范围为-128到127.
具体到该题,a[i] = -1 - i;当i=254时,会给a[i]赋值0(因为减去254转了一圈刚好到0).当然i=254以后a[i]也会被复制,但是利用strlen来求字符串数组的长度时,当找到a[254]=0……
[/Quote]
好像不对 应该是a[255] = 0;应该strlen()遇到\0就停止 不会算上这个的 是吧??
编程点滴
2011-11-07
打赏
举报
回复
由于char类型的字符对应是数值是0~255,照这个循环下去,-256其实就是字符'\0',因为-256+256=0,二次循环,刚好就是字符'\0',所以就得到结果255了。
cai0538
2011-11-07
打赏
举报
回复
首先明确以下两点:
1)strlen函数是以字符串中的'\0'来判断字符串是否到末尾的,'\0'对应的十进制为0;
2)char占字节数为1,表示的数值范围为-128到127.
具体到该题,a[i] = -1 - i;当i=254时,会给a[i]赋值0(因为减去254转了一圈刚好到0).当然i=254以后a[i]也会被复制,但是利用strlen来求字符串数组的长度时,当找到a[254]=0时,默认已经到了字符串的末尾,所以会返回255,即254+1.因为数组的下标是从0开始的啊!
希望能解除楼主的疑惑!
猪头小哥
2011-11-07
打赏
举报
回复
[Quote=引用 3 楼 whoami1978 的回复:]
当i=255时
a[i]=-1-i=-256;
char范围为0~255(输出范围-128~127),当它赋值为-256时,它自动转换为0
而strlen是判以0为结尾的
所以 strlen(a)结果为255;
[/Quote]
char范围为0~255(输出范围-128~127)这句话是什么意思??现在题目中的范围不就是-128~127么??
zxjluohe
2011-11-07
打赏
举报
回复
你跟进去看看,255的值是0,strlen认为a已经结束
whoami1978
2011-11-07
打赏
举报
回复
当i=255时
a[i]=-1-i=-256;
char范围为0~255(输出范围-128~127),当它赋值为-256时,它自动转换为0
而strlen是判以0为结尾的
所以 strlen(a)结果为255;
猪头小哥
2011-11-07
打赏
举报
回复
[Quote=引用 1 楼 mingliang1212 的回复:]
char a[1000];
int i;
for(i = 0; i < 1000; i++)
{
a[i] = -1 - i;
}
i是int 类型的, -1 - i 也是int类型的。a[i] = -1 - i;这一句实际上是把 -1 - i;得到的结果的低8位赋值给a[i];当-1 - i的低8位都为0时,a[i];就为0;
当 i = 255时。-1 - i = 0xff……
[/Quote]不是遇到\0才停止的么??怎么遇到0就停止了??还有 就是数字在计算机中是用源码还是用的补码方式存储的~~
iamnobody
2011-11-07
打赏
举报
回复
char a[1000];
int i;
for(i = 0; i < 1000; i++)
{
a[i] = -1 - i;
}
i是int 类型的, -1 - i 也是int类型的。a[i] = -1 - i;这一句实际上是把 -1 - i;得到的结果的低8位赋值给a[i];当-1 - i的低8位都为0时,a[i];就为0;
当 i = 255时。-1 - i = 0xffff00;
所以a[255] == 0;
所以strlen(a) == 255;
【嵌入式面试经验】面试官让你
问
问
题
,你该
问
什么?
这个对于程序员就有点大了,而且面试官大多也是技术人,他可能也不
知道
未来的公司战略,所以最好别
问
。有些同学就比较懵逼了,或者
没
有
问
题
或者
问
些无关紧要的
问
题
,这都会让面试官对你产生不好的印象。其实正确的步骤应该提前准备两三个
问
题
,基本是万能的,要是有类似的环节也可以做到游刃有余。面试前边的技术面试结束后,很多面试官会
问
你,“你有什么
问
题
想
问
吗?3.这个岗位貌似要接触某方面的技术,这个需要我掌握到什么程度?2.公司对员工有培训机制吗,是怎么进行的?这是后边HR面的时候的事。额,你这是来炒股了吗?
面试最后一
问
:你有什么
问
题
想
问
我吗?
尽管,我们之前分享了这么多关于面试的主题: 高薪必备的一些Spring Boot高级面试题 面试必
问
:设计模式遵循的面向对象设计原则! 面试必
问
:怎么保证缓存与数据库的双写一致性? 27道高频Spring面试题,你能答对几个? 唠唠面试常
问
的:面向对象六大原则 一文高效图解二叉树面试题 Java面试中最高频的那20%知识点是什么? 百度面试题:求数组最大值 ... 然而,最后这个90%可见...
面试官
问
你“有什么
问
题
问
我吗?”,你该如何回答?
我还记得当时我去参加阿里面试的时候,几乎每一场面试,特别是HR面和高管面的时候,面试官总是会在结尾
问
我:“
问
了你这么多
问
题
了,你有什么
问
题
问
我吗?”。这个时候很多人内心就会陷入短暂的纠结中:我该
问
吗?不
问
的话,面试官会不会对我影响不好?
问
什么
问
题
?
问
这个
问
题
会不会让面试官对我的影响不好啊? 这个
问
题
对最终面试结果的影响到底大不大? 就技术面试而言,回答这个
问
题
的时候,只要你不是触碰到你所面试的公...
当面试官说“你还有什么
问
题
想
问
的”,你该如何回答?
阅读本文大概需要 3.2 分钟。 我们在面试的经常会听到面试官说一些套话,比如“今天的面试就到这里了,回去等通知吧”,“你还有什么
问
题
想
问
的”,“如果这题不会,我们也可以换一道”等等还有很多,今天我们要说的是基本面试都会遇到的一句话“你还有什么
问
题
想
问
的?”。 这是一个老生常谈的
问
题
,之前经历过不少面试,针对这个
问
题
我也做过很多不同的回答,当然也参考了其他人的一些建议,我这里...
一个岔路口分别通向诚实国和说谎国。 来了两个人,已知一个是诚实国的,另一个是说谎国的。 诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国, 但不
知道
应该走哪条路,需要
问
这两个人。请
问
应该怎么
问
?(
一个岔路口分别通向诚实国和说谎国。 来了两个人,已知一个是诚实国的,另一个是说谎国的。 诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国, 但不
知道
应该走哪条路,需要
问
这两个人。请
问
应该怎么
问
?(20秒-2分钟) 注意:只能有一次提
问
机会,单独
问
一人和一起
问
都可以。 分析: 你直接
问
那两个人:“请
问
你们的国家怎么走。”
C语言
69,369
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章