我遇到了一个有趣的C代码打印A + B,但我无法理解它.
A B
Run Code Online (Sandbox Code Playgroud)
其中A,B是一个整数之间0,10由一个空格分隔.
main( n )
{
gets( &n );
printf("%d", n % 85 - 43);
}
Run Code Online (Sandbox Code Playgroud)
这是用于短编码,请不要介意警告.
gets( &n )将A,空格和B的ASCII值存储在较低的三个字节中n.例如,A = 3并且B = 8会屈服n = 0x00382033.鉴于条件防止n溢出.但我不明白n % 85 - 43收益率如何A + B.
你怎么想出这些数字?