長さが約9-10桁の大きな数値を計算する必要があります。 9,223,372,036,854,775,807ガーベジ・ロング・ロング・ロング・データ型
から
-9,223,372,036,854,775,808しかし、私はこのコードを実行すると、私は印刷ゴミ値を取得する:MSDNは、long long型のための範囲を持っていることを言う
#include <stdio.h>
int main(){
int seed = 88888; //This will be always a 5 digit number so the square of
// it will be 9 or 10 digits length
long long square = seed * seed;
printf("square = %lld", square);
getchar();
return 0;
}
出力: 平方= -688858048
それは次のようになり、印刷後の長いlong' 'ではなく、size_tの使用する(シードが常に正の場合)簡単な修正は次のようになります。 'printf(" square =%lu \ n "、(unsigned long)square);' – user3629249