-1

嘿伙计们,所以我有一个char,我想给它添加一些整数/双精度数。char 必须是有符号的 char,所以我不能将其设为 int。

char var = -55;
printf("Char is %d, add, char is now: %d\n", var, var+2);

该代码有效,但只要我想添加一个分数或其他东西......

printf("Char is %d, add, char is now: %d\n", var, var+2/3*2);

它根本没有添加。任何想法为什么?可能与舍入等有关。

谢谢。

4

2 回答 2

2

Try this

printf("Char is %d, add, char is now: %d\n", var, (int)(var+2/3.0*2));
于 2013-04-22T10:07:06.010 回答
1

尝试做

printf("Char is %d, add, char is now: %d\n", var, (int)( var+(2/(double)3)*2 ));
于 2013-04-22T10:06:42.677 回答