Şimdi Ara

Bir C sorusu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
2
Cevap
0
Favori
570
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Bir indexOf fonksiyonu yazmaya çalışıyorum. Verilen text'in içinde bir word'ü arayacak ve ilk değeri döndürecek. Her şey güzel çalışıyor, sağa sola koyduğum printf'ler nText'i ve diğerlerini doğru bulduğumu gösteriyor. Ama sonuç hep -1 olarak dönüyor. Hatanın nereden kaynaklandığını bulamadım. Yardımcı olursanız sevinirim. Teşekkürler.

     
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>

    int indexOfWord(char*, char*);

    int main(){
    char stuff[] = "abcdefghijklmopqrstuvwxyz";

    printf("Result: %d", indexOfWord(stuff, "cdef") );

    getch();
    return 0;
    }

    int indexOfWord(char *text, char *word){
    int a = strlen(word);
    int i, j;
    char nText[a+1];

    for(i=0; i<strlen(text)-a; i++){
    for(j=i; j<i+a; j++)
    nText[j-i] = text[j];
    nText[a] = '\0';

    if(nText == word)
    return i;
    }

    return -1;
    }


    Kodun daha iyi okunması için şuraya ekledim:http://snipt.org/ziju3







  •  
    int indexOfWord(char *text, char *word){
    int a = strlen(word);
    int i, j;
    char nText[a+1];

    for(i=0; i<strlen(text)-a; i++){
    for(j=i; j<i+a; j++)
    nText[j-i] = text[j];
    nText[a] = '\0';

    if(strcmp(nText,word)==0)
    return i;
    }

    return -1;
    }



    < Bu mesaj bu kişi tarafından değiştirildi zafer29 -- 22 Nisan 2013; 23:59:05 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.