#define STDC_WANT_LIB_EXT1 1
#include
#include
int main(void)
{
char str[] = "Enter enter the number hello world!";
char ch = 'e';
char *Got_char = str;
int count = 0;
while(Got_char = strchr(Got_char, ch))
{
++Got_char;
++count;
}
printf("這個字符串:\"%s\"中的關鍵字'%c'共出現%d次\n", str,ch,count);
return 0;
}
1.在這裡為什麼要使用str的地址並賦值給*Got_char?
2.Got _ char = strchr(Got_char, ch)是如何工作的?
3.為什麼要遞增count和Got_char?
望大神解惑!
1 str是數組名,是常量指針,不能使用++之類的運算符,所以賦給char * Got_char;使其能夠使用++運算符;
2.strchr(Got_char, ch),從Got_char指向的字符串裡找到ch指向的字符,並返回相應的地址
3.遞增Got_char使其指向下一個位置,避免對同一個字符查找。
4遞增cout來計數。