Онлайн компилятор C

#include <stdio.h> #include <string.h> int main() { char s[20]; scanf("%s", s); int len = strlen(s); for (int i = 0; i < len; i++) for (int j = i + 2; j < len; j++) if (s[i] == s[j]) { printf("\n"); return 0; } return 0; }
这段代码的功能是:读取一个字符串,然后检查其中是否存在两个相同字符,且这两个字符之间至少隔了一个字符(即下标差至少为2)。如果找到这样的字符对,就输出一个换行符并结束程序;否则不输出任何内容直接结束。

- 你的代码只检查了字符对的下标差是否大于等于2,但题目可能要求检查是否存在重复字符(任意距离)。请确认题目要求的具体条件是什么。
- 当前代码在找到第一个满足条件的字符对后就立即结束,这可能导致遗漏其他情况。如果题目要求输出所有满足条件的字符对,你需要调整逻辑。