问题是出在LZ没有理解不同类型数据的混合运算上。
对于unsigned 和int型混合运算,都先转化为unsigned
而在内存中,数据是以二进制补码存储的:
对于-30,内存中存为: 1111 1111 1110 0010
当它转化为unsigned型时,首位符号位被认为数值位,故1111 1111 1110 0010=65506
故65506/10=6550了。呵呵
代替leisure1980广告下: 群号45146331
不要以为编译通过运行也没什么事就是正确了
by 雨中飞燕 QQ:78803110 QQ讨论群:5305909
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
不要以为编译通过运行也没什么事就是正确了
by 雨中飞燕 QQ:78803110 QQ讨论群:5305909
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
请问版主,用这个的危害在哪里,这是我要问的,别老说不能用不能用,你得说为什么啊老大