pow() fonksiyonu tanımı gereği int (int, int) şekilde çalışmaz. Hadi diyelim ki senin verdiğin integer değerleri float'a cast etti fakat dönüşü elle cast etmen gerekir. Sana önerim sonuc'u float tanımlayıp o şekilde çalıştırman. sonuc float olunca ekrana da %d şeklinde değil %.0f şeklinde bastırman gerekir (virgül ve sonrası gözükmesin diye 0).
@meniz
modern compilerlar rahatlıkla int'i double cast ederler. sorun orada değil
#include <stdio.h> #include <math.h>
using namespace std;
int main () { int x,y,sonuc; scanf("%d",&x); scanf("%d",&y); sonuc=pow(x,y); printf("%d\n",sonuc); return 0; }
bu sekilde gayet normal calısıor. sen include'ları tırnakla(") yapmıssın, kendi math.h'ını felan mı define ettin?
quote:
Orijinalden alıntı: OnurJAM
@meniz
modern compilerlar rahatlıkla int'i double cast ederler. sorun orada değil
#include <stdio.h> #include <math.h>
using namespace std;
int main () { int x,y,sonuc; scanf("%d",&x); scanf("%d",&y); sonuc=pow(x,y); printf("%d\n",sonuc); return 0; }
bu sekilde gayet normal calısıor. sen include'ları tırnakla(") yapmıssın, kendi math.h'ını felan mı define ettin?
Valla DevC++'ta gayet modern ama bi çok casting sorunu yaşıyo Ben hiç dikkat etmemiştim " lara
Nasıl olsa cast eder deyip double yerine int ile çağırmak kötü bir alışkanlık.
iyi bir alışkanlık olduğunu söylediğimi hatırlamıyorum.
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme