Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
534
Tıklama
0
Öne Çıkarma
Bir C sorusu
J
11 yıl
Teğmen
Konu Sahibi

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



Z
11 yıl
Er

 
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 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.