C语言基本题 图中第20题 循环语句中,判断数组元素是否为空,为什么可以用!0表示,第一个数不就是

C语言基本题图中第20题循环语句中,判断数组元素是否为空,为什么可以用!0表示,第一个数不就是0吗?另外,希望解释一下另一个问题a=1和b=‘1’区别,有人说前者是整形数... C语言基本题 图中第20题 循环语句中,判断数组元素是否为空,为什么可以用!0表示,第一个数不就是0吗? 另外,希望解释一下另一个问题 a=1 和 b=‘1’区别,有人说前者是整形数值1 后者是字符1,值为其ASCLL值,那么码值是49,b的值就是49吗,这样的话,49怎样重新变成字符1呢? 展开
 我来答
邓某某2012
2014-02-23 · TA获得超过196个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:124万
展开全部
1、为什么可以用!0表示,第一个数不就是0吗?
数组第一个不是数,是字符,c语言中字符是按整数储存的,一个字符对应一个整数,就是ASCII码。字符'0'的ASCII码为48,字符数组都有结束符'\0',它跟NULL是类似的,ASCII码为0,所以可以用s[i]!=0来判断数组是否结束了
2、 a=1 和 b=‘1’区别
1表示整数,'1'表示一个字符,对应ASCII吗为49。关于怎么把49转化为字符'1'的问题,在运算过程中默认'1'与49通用,不过也可以通过强制类型转化:
int a=49;
char b;
b=(char)a;
就可以把49转化为'1'。
另外输出的时候你想看到它是49,那就按整型输出;你想看到它是'1',那就按字符型输出
追问
解释得太到位了,谢谢
红烧六郎
2014-02-23
知道答主
回答量:33
采纳率:0%
帮助的人:19万
展开全部
不等于0是因为s是字符数组最后一位是,/0,所以指到0时也就跳出循环确定出了a到z的字符个数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式