Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何使函数适用于非常大的数字?_C_Function - Fatal编程技术网

C 如何使函数适用于非常大的数字?

C 如何使函数适用于非常大的数字?,c,function,C,Function,我应该写一个函数,用long-long计算C中三个数字的平均值。(是的,不是程序,不是函数)对于a=LLONG_MAX和b=LLONG_MAX和c=LLONG_MAX,平均值也是LLONG_MAX # include <stdio.h> long long avg3(long long a, long long b, long long c) { long long average; if (a == 9223372036854775807 && b ==

我应该写一个函数,用long-long计算C中三个数字的平均值。(是的,不是程序,不是函数)对于
a=LLONG_MAX
b=LLONG_MAX
c=LLONG_MAX
,平均值也是
LLONG_MAX

# include <stdio.h>
long long avg3(long long a, long long b, long long c)
{
   long long average;
   if (a == 9223372036854775807 && b == 9223372036854775807 && c == 9223372036854775807)
   {
       average = 9223372036854775807;
       return average;
   }
   else
   {
       average = (a + b + c) / 3;
       return average;
   }
}


如何修复此问题?

您可以使用
\uuu int128
来增加内存


请参见和。因此,基本上我用
\uuu int128 average
替换了
长-长平均值
?是的,现在您可以使用数字3.4028237e+38。
avg3 ( -6019974895299362304, -5925017377408534528, -878297245955435520 ) => 
     r=-4274429839554444117, s=1874484851682073088
avg3 ( 9223372036854775800, 9223372036854775800, 9223372036854775800 ) => 
     r=9223372036854775800, s=3074457345618258594