展开全部
你好!!!
比如:
char a='2';
printf("%c,%d",a,a);
printf("%d",a-1);
输出的结果是:2 50,49
我们来解衡高大释一下:
a='2';表示我们把字符‘2’赋值给字符变量,但是计算机处理字符都是转化成ASCLL码的,因此计算机会咐竖把整数 2先转换成50存放起来,要是输出字符的时候,系统又把50转化成2,输出。
要是输出整数的时候,就直接把50输出。
关于a-1即使用50-1=49要知道49是ASCLL码,不是整数
又如:
printf("%d",a-'0');
输出的就念乱是2 因为整数0所对应的ASCLL是48.50-48=2输出的不就是字符所对应的整数啦。
考试顺利哈!!
比如:
char a='2';
printf("%c,%d",a,a);
printf("%d",a-1);
输出的结果是:2 50,49
我们来解衡高大释一下:
a='2';表示我们把字符‘2’赋值给字符变量,但是计算机处理字符都是转化成ASCLL码的,因此计算机会咐竖把整数 2先转换成50存放起来,要是输出字符的时候,系统又把50转化成2,输出。
要是输出整数的时候,就直接把50输出。
关于a-1即使用50-1=49要知道49是ASCLL码,不是整数
又如:
printf("%d",a-'0');
输出的就念乱是2 因为整数0所对应的ASCLL是48.50-48=2输出的不就是字符所对应的整数啦。
考试顺利哈!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先纠正一下,应该是s[0] - '0' (少了单引号)
s[0] - '0' // 表示将字符s[0]的ASCII码与字符0的ASCII码相减,如果s[0]是字符0~9,则表示橘银做将该字符变为对应的数字(int型)
比如:
char s[3] = "123";
printf("%d\n"搏伏, s[0]-'0'); 圆衡 // 输出1,将字符1变为数字1(int型)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s[0]是存放字符的变量,减去‘0’后,将其转换成相应的数值
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在C语言中,s[]应该是字符数组,s[0]-'0'是把字符0转化为数字0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询