lostyazilim

C ' de String İçi Karakter Arama

4 Mesajlar 2.277 Okunma
lstbozum
wmaraci reklam

Yavuzs Yavuzs WM Aracı Kullanıcı
  • Üyelik 30.10.2015
  • Yaş/Cinsiyet 30 / E
  • Meslek Üniversite Öğrencisi
  • Konum Trabzon
  • Ad Soyad Y** S**
  • Mesajlar 33
  • Beğeniler 12 / 0
  • Ticaret 0, (%0)
Yarın Programlamaya Giriş sınavım varda geçen sene finalde sorulan sorulara bakayım dedim. Bu kod girilen stringde istenilen karakterin kaçıncı sırada olduğunu buluyor fakat ben kodu tam olarak anlayamadım. Satırlara yorumlar ekleyerek açıklayabilecek birisi var mı acaba?



#include
#include
#include

void myStringSearch(const char*,const char,int *);

int main()
{
char myString[]="aabkaaa";
char charToFind='k';

int result;
myStringSearch(myString,charToFind,&result);

if(result!=-1)
printf("KARAKTER BULUNDU %d\n",result+1);
else
printf("KARAKTER BULUNAMADI.\n");
}
void myStringSearch(const char*param1,const char param2,int *sonuc)
{ int i,tut=0;

for(;*param1!='\0';param1++)
{
if(tut==0)
if(*param1==param2)
{ *sonuc=i;
tut++;
}
i++;
}

}
 

 

wmaraci
reklam

ozgurgezen ozgurgezen WM Aracı Kullanıcı
  • Üyelik 17.03.2016
  • Yaş/Cinsiyet 43 / E
  • Meslek Bilgisayar Muhendisi
  • Konum İstanbul Anadolu
  • Ad Soyad Ö** H**
  • Mesajlar 702
  • Beğeniler 224 / 225
  • Ticaret 16, (%100)
Merhaba,
Anlayamadigin kisim pointer kullanimi mi?
Sen anladigin kisimlari yorumla, anlayamadiklarini yorumlayacak birileri cikar.
 

 

Yavuzs Yavuzs WM Aracı Kullanıcı
  • Üyelik 30.10.2015
  • Yaş/Cinsiyet 30 / E
  • Meslek Üniversite Öğrencisi
  • Konum Trabzon
  • Ad Soyad Y** S**
  • Mesajlar 33
  • Beğeniler 12 / 0
  • Ticaret 0, (%0)
Anlamadığım kısımları söyleyeyim :

1- Result değişkenini neden oluşturduk ?

2- Result değişkeni -1 ' e eşit değilse " KARAKTER BULUNDU " , eşitse " KARAKTER BULUNAMADI " hatası alıyoruz. Bu -1 nedir?
 

 

ozgurgezen ozgurgezen WM Aracı Kullanıcı
  • Üyelik 17.03.2016
  • Yaş/Cinsiyet 43 / E
  • Meslek Bilgisayar Muhendisi
  • Konum İstanbul Anadolu
  • Ad Soyad Ö** H**
  • Mesajlar 702
  • Beğeniler 224 / 225
  • Ticaret 16, (%100)
- result degıskeni
-- bulundu bulunmadi olarak kontrol icin kullanildi.
-- aradigimiz karakterin kacinci sirada oldugunu result icine yaziyoruz.

Bu arada C kullanmayi yillar oldu. result degiskenine atama yapilmadigi icin degeri - ki olursa - 0 olacaktir.
C de tum indexler sifirdan baslar.
ornegin "ozgur" kelimesinin 1. karakteri ne diye soracak olursam "o" dersin ama programlama dillerinde 1. karakter ne dersem "z" olur. Indexler 0 dan baslar.
-1 demek aslinda bulunamadi demek. 0 demek bulundu anlamina gelir.

kodda hata bulunuyor bir de, onu da sana birakiyorum..
Yavuzs

kişi bu mesajı beğendi.

wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al