为了账号安全,请及时绑定邮箱和手机立即绑定

在C[i]==‘0'的时候循环停止了,为啥啊?

在C[i]==‘0'的时候循环停止了,为啥啊?

C C++
慕仰7464091 2018-01-07 20:31:10
{int C[]={1,2,3,4,0,5,6,7 },i;for(i=0;C[i]!='\0';i++){    printf("%d*\n",C[i]);}return 0;}在C[i]==‘0'的时候循环停止了,为啥啊?
查看完整描述

3 回答

?
慕用4063026

TA贡献195条经验 获得超115个赞

\0'的意思是 ASCII 为 0 的字符。就是0

查看完整回答
2 反对 回复 2018-01-07
?
新的纪元

TA贡献6条经验 获得超5个赞

这是我做的实验,证明我的猜测是正确的

//img1.sycdn.imooc.com//5a522c3e000116bc04790281.jpg

查看完整回答
1 反对 回复 2018-01-07
?
新的纪元

TA贡献6条经验 获得超5个赞

我百度了一下,大该猜测是

‘\0’的ASCII码是00000000(二进制),而0的ASCII码也是00000000(二进制),也就是说,两者在计算机中存储的是一样,只是类型不同。但C语言中有自动转换类型,char在一定情况下可自动转化为int 型。

查看完整回答
1 反对 回复 2018-01-07
  • 3 回答
  • 0 关注
  • 2117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信