-2

如果我有一个包含 * 的 C 字符串,并且我想在这个字符串中找到 3 星的位置。除了通过循环和逐字符检查之外,最好/更有效的方法是什么?

谢谢

4

2 回答 2

1

您可能想使用strchr. 由于您想要角色的第三个实例,因此您仍将在循环中执行它。

这是否真的会比自己编写循环更有效可能会有一些问题,但它可能不会更慢,并且任何阅读代码的人都会更清楚意图。

于 2012-11-14T18:14:21.690 回答
1

C字符串实际上是字符数组,所以如果你想找到任何字符的位置,那么你必须遍历整个数组并返回特定的位置char。但是数组的索引从位置开始0

找到一个角色位置

int str_chr_pos(const char *s,char c)
{
 for(i=0;s[i]!='\0';i++)
   if(c == s[i])
     return i;  // found at position i
 return -1;   //-1 means not found and check the returned value in the calling environment
}
于 2012-11-14T18:15:21.080 回答