在线编译器 C

#include <stdio.h> int main() { char a[1001] = {0}, b[1001] = {0}; scanf("%s%s", a, b); for (int i = 0; a[i] != '\0'; i++) { if (a[i] != b[i]) { printf("%d", i); return 0; } } printf("%d", -1); return 0; }
这段代码的功能是比较两个字符串,并输出它们第一个不同字符的位置(从0开始计数)。如果两个字符串完全相同,则输出-1。

- 代码假设两个字符串长度相同,但实际输入可能长度不同。如果较短的字符串先结束,循环会提前终止,但此时并未检查较长字符串的剩余部分是否不同。
- 当循环结束时,如果两个字符串长度不同,应该输出较短字符串的长度作为第一个不同位置,而不是直接输出-1。