[求助]新手求助,别笑我哈...
#include "stdio.h"main ()
{ unsigned int a=65535;
printf("a=%d",a);}
书上说运行结果是a=-1
为什么啊?
不是已经定义了a是无符号int吗?
"%d" 是不是含有输出 带符号整型数据的意思?
ps:蓝色的我原来写错了,造成部分同学的迷惑 不好意思.
[此贴子已经被作者于2007-10-24 11:16:25编辑过]
搜索更多相关的解决方案:
include
----------------解决方案--------------------------------------------------------
下班回家了,晚上再来 大哥们 帮帮我这个初学者哇
----------------解决方案--------------------------------------------------------
可能是书上写错了。
----------------解决方案--------------------------------------------------------
我我刚试一下a=35535的
----------------解决方案--------------------------------------------------------
%d是带符号的整形数据,值域是-32768 到 32767.就是说凡是超出32767的数都不能正常显示.
----------------解决方案--------------------------------------------------------
那么就是说书上说的是对的喽?
----------------解决方案--------------------------------------------------------
也就是说输出%d的话,就是带符号的咯 前面的unsigned int 的定义没啥意义?
----------------解决方案--------------------------------------------------------
以下是引用kingkino在2007-10-19 20:14:13的发言:
也就是说输出%d的话,就是带符号的咯 前面的unsigned int 的定义没啥意义?
有无意义要具体问题具体分析.
这道题考察的是有符号和无符号数的取值范围.
----------------解决方案--------------------------------------------------------
大概明白你的意思了....谢谢版主
----------------解决方案--------------------------------------------------------
以下是引用kingkino在2007-10-19 17:00:11的发言:
#include "stdio.h"
main ()
{ unsigned int a=35535;
printf("a=%d",a);}
书上说运行结果是a=-1
为什么啊?
不是已经定义了a是无符号int吗?
"%d" 是不是含有输出 带符号整型数据的意思?
#include "stdio.h"
main ()
{ unsigned int a=35535;
printf("a=%d",a);}
书上说运行结果是a=-1
为什么啊?
不是已经定义了a是无符号int吗?
"%d" 是不是含有输出 带符号整型数据的意思?
为什么我输出的是-3001的?
----------------解决方案--------------------------------------------------------