可笑的简单逻辑仍然会出错

时间:2015-03-13 00:33:38

标签: c++

我有两个字符。 它们中的每一个都存储0到9之间的数字。 我想找到这两个的总和,然后以模10为模,以确保结果为单个数字(0-9) 最后将结果转换回char。

我做了这个,但它不起作用:

char a = '4';
char b = '8';
char c = (char)((a - '0') + (b - '0') % 10);

1 个答案:

答案 0 :(得分:3)

该行

char c = (char)((a - '0') + (b - '0') % 10);

执行

char c = (char)(4 + 8 % 10)

但模数运算符来before加法运算符......

您获得char c = char(12),相当于new page

您可能还想在c中添加'0',但由于您目前的操作顺序,不会给您0-9的数字。