Sorun anlatılmış. Takıldığınız bir yer olabilir diye kod şeklinde de paylaşıyorum.
Bu konu hakkında başka sorunuz veya kodda anlamadığınız bir yer varsa sorabilirsiniz.
Kod:
#include <stdio.h>
#include <math.h>
int main(){
int x = 0;
int y = 0;
printf("Taban: ");
scanf("%d", &x);
printf("Us: ");
scanf("%d", &y);
printf("Sonuc: %.f", pow(x, y));
return 0;
}
printf(); konusunda haklısınız hocam, fakat bir eksikliği tamamlamak istiyorum; double'dan int'e örtülü (implicit) dönüştürme yapıldığı zaman sonuç tamsayı çıkmalı. Örneğin, pi sayısını (3.1415 alıyorum) verdiğini farz edersek bu programın, 3.1415 yerine 3 yazdırmalıydı.
Bu koddaki hata, sonda printf(); yerine scanf(); fonksiyonunun kullanılmasından kaynaklı. Ayrıca pow(); fonksiyonunun dönüş değerini değişkende tutmaya gerek bile yok. Şöyle bir kod yazılsa gayet te iş görür.
Sorun anlatılmış. Takıldığınız bir yer olabilir diye kod şeklinde de paylaşıyorum.
Bu konu hakkında başka sorunuz veya kodda anlamadığınız bir yer varsa sorabilirsiniz.
Kod:
#include <stdio.h>
#include <math.h>
int main(){
int x = 0;
int y = 0;
printf("Taban: ");
scanf("%d", &x);
printf("Us: ");
scanf("%d", &y);
printf("Sonuc: %.f", pow(x, y));
return 0;
}
Çünkü sadece yazdırmak istiyorsunuz. Boşuna bir değişkende tutup bellekte yer kaplamaya gerek var mı?
Başka yerde de kullanacak olsanız o zaman değişkene atardık çünkü o zaman da iki kere hesaplama yaptırmış olurduk, iki kere hesaplamaya gerek yok. Hangisi daha verimli ise onu yapıyoruz, yapmaya çalışıyoruz.
Ufak bir not: Değişkenlerinizi ilklendirin (initialize). x ve y değişkenlerine sıfır vermem gibi.
İleride saçma bir yerde hata çıkar, sebebi ilk değerinin olmaması olur. Gerek yok.
Çünkü sadece yazdırmak istiyorsunuz. Boşuna bir değişken de tutup bellekte yer kaplamaya gerek var mı?
Başka yerde de kullanacak olsanız o zaman değişkene atardık çünkü o zaman da iki kere hesaplama yaptırmış olurduk, iki kere hesaplamaya gerek yok. Hangisi daha verimli ise onu yapıyoruz, yapmaya çalışıyoruz.
Ufak bir not: Değişkenlerinizi ilklendirin (initialize). X ve Y değişkenlerine sıfır vermem gibi.
İleride saçma bir yerde hata çıkar, sebebi ilk değerinin olmaması olur. Gerek yok.
Anladım sayılır. Ama pek kapsamlı bilmiyorum okulda gördüğümüz için. Ekstra kendim de bir şeyler katmaya çalışıyorum. Öneriniz var mı? Nasıl daha iyi olurum?
Anladım sayılır ama pek kapsamlı bilmiyorum okulda gördüğümüz için ekstra kendim de bir şeyler katmaya çalışıyorum öneriniz var mı nasıl daha iyi olurum.
Algoritma ve veri yapılarına odaklanmanızı tavsiye ederim. Dili kitaptan yapacaksanız Deitel'ın C programlama kitabını, video ile yapmak istiyorsanız da şu oynatma listesini tavsiye ederim.
Algoritma ve veri yapılarına odaklanmanızı tavsiye ederim. Dili kitaptan yapacaksanız Deitel'ın C programlama kitabını, video ile yapmak istiyorsanız da şu oynatma listesini tavsiye ederim.