
int a
printf("input a number:")
scanf("%d",&a)
if(a>0)printf("搏孙%d is 正数.",a)
else if(a==0)printf("%d is 0.",a)
else if(a<0)printf("%d is 负数.",a)
你好,首先要测试一下你编译器所定义的整型是多少字节,用sizeof(int)测试一下,一般是4字节,假如租键是4字节说明是32位,这样无符号和有符号整数区别在于第32位是1还是0,所以可以用一个数0x80000000=10000000
0000
0000
0000
0000
0000
0000(32),与整数做“与&”运算,假如最高位结果是1(即0x80000000),说明原来整数是负数,假如位0则是正数。
所以可以用如下代码实纤型枝现毁敏
int
yu(int
num)
{
return
(num
&
0x80000000)
}
之后在调用函数测试return值就可以了
#include<stdio.h>int main()
{
int i
printf("请输入数字\n")
scanf("%d"液喊,&i)
if(i>=0)
{
printf("这个数字为非负数好磨")
}
else
printf("这个数字为闹袜野负数")
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)