Iki farkli yolla kare alma
#include <stdio.h>
#include <stdlib.h>
int kareAl(int); //Pass by value
int kareAlPointerla(int *); //Pass by reference
int main()
{
int x;
printf("Karesi alinacak sayiyi giriniz:");
scanf( "%d",&x);
printf("\nx'in kareAl fonksiyonundan onceki degeri=%d",x);
printf("\nkareAl fonksiyonunun sonucu=%d",kareAl(x));
printf("\nx'in kareAl fonksiyonundan sonraki degeri=%d",x);
printf("\n\n");
printf("\nx'in kareAlPointerla fonksiyonundan onceki degeri=%d",x);
printf("\nkareAlPointerla fonksiyonunun sonucu=%d",kareAlPointerla(&x));//fonksiyon parametre
olarak pointer aldigi icin, degiskenin adresini gonderiyoruz
printf("\nx'in kareAlPointerla fonksiyonundan sonraki degeri=%d",x);
return 0;
}
int kareAl(int sayi){
sayi=sayi * sayi;
return sayi;
//Yukaridaki iki satir yerine asagidaki satir da kullanilabilir
//return sayi*sayi;
}
//POİNTER KULLANARAK
int kareAlPointerla(int *sayiPtr){
*sayiPtr=*sayiPtr * *sayiPtr;
return *sayiPtr;
//Yukaridaki iki satir yerine asagidaki satir da kullanilabilir
//ancak etkileri farkli olacaktir.
//return *sayiPtr * *sayiPtr;
}
Hiç yorum yok:
Yorum Gönder