我如何从逻辑上理解这一点:
int low_digit = value % 10;
value /= 10;
我丢失的地方是mod分割并打印剩余部分。什么除以?
value /= 10;
是什么意思?
答案 0 :(得分:5)
/=
是C ++的说法:
value = value / 10;
此处value % 10
会向您提示将其除以10.想象value
为19,这将为您提供9,最后一位数(提醒将其除以10)。最后一个语句将该值除以10(整数除法),并给出1(十位数)。
答案 1 :(得分:2)
这是一种分配速记和更有效的说法:
value = value / 10;
就像:
i++;
是:
i = i + 1;
或:
i +=1;
你也可以这样做:
value %= 10; // same as value = value % 10;
答案 2 :(得分:2)
/*int low_digit =*/ value % 10;
/*value /= 10; */
首先,计算value modulo 10
。这会将value
除以10
,结果就是除法的其余部分。
int low_digit = value % 10;
/*value /= 10; */
然后创建一个名为int
的{{1}},并从模运算中分配值。
low_digit
最后,/*int low_digit = value % 10;*/
value /= 10;
除以value
,并分配给结果。这与10
相同
整个序列的结果是从value = value / 10;
中删除最低有效位,并将其放入value
答案 3 :(得分:1)
它是所有算术运算的简写并适用:
value = value / 10:
答案 4 :(得分:1)
value % 10
提醒分组。例如,345 % 10
等于5
。
value /= 10;
与value = value / 10;
答案 5 :(得分:1)
value /= 10
表示您将value
除以10
,然后将结果分配回变量value
。
答案 6 :(得分:0)
/=
是一个除法赋值运算符。
来源:Wikipedia
答案 7 :(得分:0)
当你除以模数时,你将得到余数。例如:10%3 = 1。
当您使用int(非双数据类型)除以常规除法符号时,您将收到“数字进入另一个数字的次数”。例如:10/3 = 3,因此3次进入10次,3次(想想在学校长期分裂)。
在您的特定示例中,您几乎输入一个数字,将最低有效数字存储在变量中,然后返回没有最低有效数字的数字。示例:
如果value = 12,则low_digit = 2(12%10 = 2),并且值更新为1(12/10 = 1)。