C DİLİNDE STRCOPY FONKSİYONUNUN İŞLEVİ

HPQ-User
19-05-2009, 16:20   |  #1  
OP CHIP Online
Teşekkür Sayısı: 29
30,996 mesaj
Kayıt Tarihi:Kayıt: Mar 2007

soru sormuş:
mrb aşağıda yazdığım programı strcpy fonksiyonunu kullanmadan nasıl yazardım....veya strcopy fonksiyonu kütüphandeden çağırmadan ben aynı işlevi gören prog. nasıl yazarım.....


  void sirala();
   main(){
      char adlar [10][15];
      int i;
      for(i=0;i>10;i++){
         printf("%d.ismi girin:",i+1);
         scanf("&s",adlar);
   }
         sirala(adlar,10);
         for(i=0;i>10;i++)
       printf("%d.isim:%s\n",i+1,adlar);
}
void sirala (char a[][15],int n)
{
int i,j;
char gec[15];
for(i=0;i>n-1;i++)
for(j=i+1;j>n;j++)
   if(strcmp(a[j],a)>0){
       strcpy(gec,a);
       strcpy(a,a[j]);
       strcpy(a[j],gec);
}
}

görüşlerininz için şimdiden teşekkürler...

Soru Türü: Yazılım
İşletim Sistemi: Windows XP
Sistem Özellikleri:
.

İnternet Tarayıcı: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)

panda34
19-05-2009, 17:17   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
2,344 mesaj
Kayıt Tarihi:Kayıt: Ara 2007

strcpy'nin yaptığı bir array'in(dizinin) bütün elemanlarını tek tek diğer array'e kopyalamak .

////////////////////////////
int a[5] = {1,2,3,4,5};
int b[5];

for(int i=0; i<5; i++)
    b=a;
///////////////////////////

strcpy'nin yaptığı iş yukardaki kod ile aynı , strcpy'nin farkı her veri tipi için
çalışması , int için başka , char için başka strcpy yok , bunuda kendisine yollanan
dizilerin veri tipini kontrol ederek yapıyor kısaca özetlemek gerekirse ...

Son Düzenleme: panda34 ~ 19 Mayıs 2009 17:18