29 Ağustos 2014 Cuma

C Programlama Kare Alma (pointer ve fonksiyon kullanarak)

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