Yaklaşık 9-10 basamak uzunluğa sahip büyük bir sayı hesaplamam gerekiyor.
-9.223.372.036.854.775.808Çöp değeri uzun uzun veri türü
9.223.372.036.854.775.807 için Ama bu kodu çalıştırdığınızda i basılmış bir çöp değeri elde:
#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;
}
Çıktı: kare = -688858048
Msdn uzun uzun tip için bir dizi olduğunu söylüyor
olurdu baskı Sonra uzun long' 'ziyade size_t kullanmak (tohum her zaman pozitif ise) basit bir düzeltme olacaktır: printf ("kare =% lu \ n", (imzasız uzun) kare); – user3629249