嘿所有,我試圖找到一個字符或一個字符串中的字符數字位置。我能夠弄清楚如何查看字符串「abcd」中的字符「a」,但如果放入「abcda」,它只打印出0,這意味着它只計算第一個實例。我想查找該字符串的最後或最右邊的發生。這是我到目前爲止有:在C中查找一個角色的最重要的發生?
#include <stdio.h>
main(){
char s[20];
char t[20];
int pp;
printf("Enter a FULL string: \n");
scanf("%s", s);
printf("Enter what you want to find: \n");
scanf("%s", t);
pp = strindex(s, t);
printf("%d", pp);
}
/* string index */
int strindex(char s[], char t[]){
int i, j, k, c;
for (i = 0; s[i] != '\0'; i++){
for (j=i, k = 0; t[k] != '\0' && s[j] == t[k]; j++, k++);
if (k > 0 && t[k] == '\0')
return i;
}
return -1;
}
它可能很簡單,但我一直在努力,並絞盡腦汁,沒有什麼是走出來的吧。非常感謝!
我想這個代碼有一些格式問題。如果你想要最右邊的字符,你的問題的答案是從字符串的結尾開始,而不是開始。 – 2009-10-19 23:20:38
這是一個功課問題,順便說一句嗎? – 2009-10-19 23:21:20
是的,這是我的作業的一部分,但不是整個事情:) – 2009-10-19 23:25:36