刚学习C求解2个菜问题?
1. 整形变量int a与short b在内存中都是占用两个字节,取值范围都是-32768~32767,默认都是带符号整数(正整数)那么它们有什么区别呢?即什么情况下用类型符int什么情况下用short?main()
{
int a;
short b;
a=32767;
b=32767;
printf("a=%d\nb=%d,"a,b);
}
+++++++++++++++++++++++++++++++++++++++++++++
2. 下面代码中变量a, b, c,既然定义了是无符号整数(人为的赋予负值)为何输出全为负数?不能强制转换为正吗?
main()
{
unsigned a;
unsigned short b;
unsigned long c;
a=-32767;
b=-32767;
c=-882767;
printf("a=%d"\n,a);
printf("a=%d"\n,b);
printf("a=%ld\n",c);
}
刚学习C弄的头昏脑胀的。。。有些基础的实在弄不明白~~
[ 本帖最后由 stukk 于 2010-4-21 10:44 编辑 ]