输入一个数,判断正负,C语言写程序,初学者,不太懂怎么写

Python013

输入一个数,判断正负,C语言写程序,初学者,不太懂怎么写,第1张

主函数中这么写:

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=1000

0000

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("这个数字为负数")

}