long i,*p;
p=&i;
printf("请输入一个数:");
while(scanf("%ld",p)!=EOF)
{
while(*p>=10)
*p=*p/10;
printf("最高为数字是:%ld\n",*p);
}
如何改才能输入任何位数的数字?
long类型在32位系统下是4个字节32位,在64位系统下是8个字节64位;
long long类型在32位和64位系统中都是8个字节64位置。
发生数据溢出了。
不考虑精度可以用double
考虑精度需要自己用数组实现大数计算。
类型写成unsigned long long;如果要输入任意位数,就用一个字符型数组接收数字,然后输出第一个有效数字。