比如:qywyer23tdd
返回:y
这样的题目其实与之前的类似
在字符串中找出第一个只出现一次的字符
类似于这样的题目思路是相同的,需要改变的地方就是在做第二次字符串遍历时,返回满足题目要求的字符的条件需要改变,即
a[*str] >= 2; //找到第一次重复出现的字符
完整代码如下:
#include <stdio.h>
#include <stdlib.h>
char FindChar(char* str){
char a[256] = { 0 };
char* tmp = str;
while (*str){
a[*str]++;
str++;
}
str = tmp;
while (*str){
if (a[*str] >= 2){
return *str;
}
str++;
}
return 0;
}
int main(){
char str[] = "qywyer23tdd";
char c =FindChar(str);
if (c){
printf("%c\n", c);
}
else {
printf("未找到重复出现的字符!\n");
}
system("pause");
return 0;
}