c语言求最大值怎么写?

Python010

c语言求最大值怎么写?,第1张

temp=(((a[0]>a[1])?a[0]:a[1])>a[2]?:((a[0]>a[1])?a[0]:a[1]):a[2])

temp就是最大值

不好意思,上面那个多谢了一个冒号,当时没有验证就直接写了,现在已经验证完毕:

具体代码:

#include

int

main()

{

int

a[3]

a[0]=1

a[2]=3

a[1]=2

int

temp=(((a[0]>a[1])?a[0]:a[1])>a[2]?((a[0]>a[1])?a[0]:a[1]):a[2])

printf("%d",temp)

return

0

}

当无符号0以二进制储存在内存中的时候,每一位都为0,以32位int为例,(unsigned int)0的二进制为:

00000000000000000000000000000000

按位取反(~)后,变成:

11111111111111111111111111111111

此时的十进制为:

4294967295

除以2(因为int类型中有一半表示负数且比正数多一个)之后为:

2147483647

即为32位int类型最大值。

C语言中最大的整型数据类型是long类型,占4个字节

C中短整型和整型均占2个字节,取值范围是 -32768 ~~~ 32767

长整型占4个字节,取值范围是 -2147483648 ~~~~ 2147483647

如果是无符号数的话,可以表示的数据就是

短整型和 整型:  0--- 65535

长整型:             0---4294967295

在C语言中如果一个数很大的话,超过最大的长整型,可以使用double来存储,这样不会影响运算精度。