return('0')和return(c-'0')和return(0)的区别

inttttt(){charc;c=getchar();returen(c-'0');}... int tttt()
{
char c;
c=getchar();
returen(c-'0');
}
展开
 我来答
XHHISEA02274
推荐于2018-03-29 · TA获得超过8万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:3976万
展开全部

return('0');返回的是0的ASCII码,返回的是48;

return(c-'0');返回的是c-48的值;

return(0);返回的就是0;

代码与运行结果如下,程序设定c=20:

529266682
推荐于2016-04-22
知道答主
回答量:15
采纳率:0%
帮助的人:7.1万
展开全部
return('0')是返回字符'0',
return(c-'0')是返回表达式c-'0'的值,字符在计算机内是以一个整数值来存储的,都有固定的数值,被解释为字符(显示的时候是显示字符),也可以对char作算术运算,因为char也是一个数值。
return(0)是返回数值0,
其实有无括号均可,只要它不影响表达式的优先级,就当是一种风格罢了,()在表达式中多是用来改变表达式中运算符的优先级,因为()在表达式中的优先级很高。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunchy12345678
2013-08-09 · TA获得超过665个赞
知道小有建树答主
回答量:443
采纳率:100%
帮助的人:353万
展开全部
首先,return带括号是一种奇怪的风格。
其次,'0' != 0.
第三,c - '0' 我想LZ大概能区分开。
结束。

恩加点内容,和本题无关。
下面两个不约而同的把ASCII拼错了。
'c'在C中是int型。
’c'不一定用的是ASCII码。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mingwei8258
2013-08-09 · 超过27用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:64.6万
展开全部
char型的字符 ‘c’ 就是一个8比特位的空间 也就是一个8位的二进制数(0-255)
各个数已经预定好都表示什么意思了,也就是assic码表,不过目前只用到0-127
‘c’在assic码表中用99来表示的,也就是二进制数:01100011

所以 ‘c’ 就是数值99
‘c’ - ‘0’ = 99 - 48 = 51 (字符‘0’ assic码表中用48来表示的)
数值0么就是0了

反正字符就是一个8位的二进制数而已,至于为什么会显示c这些字符,只不过是根据这个二进制去查已有的assic码表,然后得到的图像显示信息而已
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
范德萨了就
2013-08-09 · 超过17用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:52.6万
展开全部
简单,楼主看看这个两个字符的assic码就知道了,return ('0')即返回字符'0'的assic码48, return(c-'0')即返回c的assic码-48,即99-48 = 51。 最后return(0)就是返回值0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式