找个师兄带带 带你学C带你飞 第13课 课后题 不会
里面 num = 10 * num + (ch - '0')这句 还有 下面 if(num)什么意思{:9_222:} (ch - '0')就是将你输入的数字从字符串转换成实际的数字,因为数字字符的ASCII是48如果你直接输出字符'0'的值就是48,'0'的ASCII是数字中最小的后边都是顺序1-9减掉'0'就能转换成你实际输入的数字num = 10 * num + (ch - '0')是将你先输入的值乘以10加上后输入的数,其实就是根据你输入的数先后顺序转换成实际的值
if(num)就是有了实际数字 就退出,在编程语言中认为所有非零值,都认为是TRUE, lumber2388779 发表于 2017-3-10 17:46
(ch - '0')就是将你输入的数字从字符串转换成实际的数字,因为数字字符的ASCII是48如果你直接输出字符'0'的 ...
举个例子呗{:9_221:} lumber2388779 发表于 2017-3-10 17:46
(ch - '0')就是将你输入的数字从字符串转换成实际的数字,因为数字字符的ASCII是48如果你直接输出字符'0'的 ...
好像懂了(ch - '0')‘0’的ASCll 的值是 48用户输入2(‘2’对应的ASCll值是 50 ,‘2’-‘0’==50 - 48 )输出就是2。 是这意思吧
num = 10 * num + (ch - '0')是将你先输入的值乘以10加上后输入的数,其实就是根据你输入的数先后顺序转换成实际的值 \\ 没懂
还是输入2 呢? lumber2388779 发表于 2017-3-10 17:46
(ch - '0')就是将你输入的数字从字符串转换成实际的数字,因为数字字符的ASCII是48如果你直接输出字符'0'的 ...
num = 10 * num + (ch - '0')
输入2 先输入的值乘以10 加上后输入的数
2 * 10 = 20 + (ch - '0') 屁哥 发表于 2017-3-10 19:51
num = 10 * num + (ch - '0')
输入2 先输入的值乘以10 加上后输入的数
2 * 10 = 20 + (ch - '0')
比如你先输入2再输入0 前边num初始值为0,然后ch-'0'就是2 num=2
然后0ch-'0'=0 num=2*10+0=20
其实就是你输入什么数字字符串就组成什么数字 直到你输入非数字就会停下
晚上回家在忙别的没怎么看论坛 抱歉 lumber2388779 发表于 2017-3-10 21:59
比如你先输入2再输入0 前边num初始值为0,然后ch-'0'就是2 num=2
然后0ch-'0'=0 num=2*10+0=20
其实 ...
谢谢明白点了 再琢磨琢磨 有点笨 嘿嘿 屁哥 发表于 2017-3-11 11:01
谢谢明白点了 再琢磨琢磨 有点笨 嘿嘿
慢慢来 编程最重要是思维 一开始想一些东西可能会转不过来,能图像化就比较好理解了
页:
[1]