何秒生きられる?(カスタムああ)
( 1年で約3.156×秒あります)
10*10*10*10 で計算するのは面倒です...
ヘッダー ファイル #include<math.h> がここで呼び出されます
pow(x,y) 関数 (x は底、y は指数)
#include <stdio.h>
#include<math.h>
int main()
{
int age;
int a = pow(10,7); //pow()函数调用了头文件#include<math.h>
scanf("%d",&age);
long age1 = age*3.156*a; //若定义age1为int 会出现溢出
printf("%ld",age1);
return 0;
}
age1 を int で定義するとどうなりますか?
次のように、オーバーフローが発生します
では、age1 を long long で定義するとどうなるでしょうか?
明らかにage1をlong longで定義すると、出力はオーバーフローしません
知らせ!プレースホルダー%ld はlong 型の出力に使用されます. プレースホルダー%ld はlong long 型の出力に使用されます。
なぜロングタイプを使わないのですか?
long 型が int 型と同じメモリを占有していることがわかります。どちらも 4 バイトです。