#include <iostream> using namespace std; int mystrcmp(const char* src, const char* dst); int main() { char s1[100] = { 0 }; char s2[100] = { 0 }; cin.getline(s1, sizeof(s1)); cin.getline(s2, sizeof(s2)); int ret = mystrcmp(s1, s2); cout << ret << endl; return 0; } int mystrcmp(const char* src, const char* dst) { // write your code here...... int flag = 0; int i = 0; while (true) { if (*(src + i) == '\0' && *(dst + i) != '\0') { flag = -1; break; } else if (*(src + i) == '\0' && *(dst + i) == '\0') { flag = 0; break; } else if (*(src + i) != '\0' && *(dst + i) == '\0') { flag = 1; break; } else if (*(src + i) == *(dst + i)) { i++; continue; } else if (*(src + i) > *(dst + i)) { flag = 1; break; } else if (*(src + i) < * (dst + i)) { flag = -1; break; } else { i++; } } return flag; }
if-else 屎山,先判断是否到达字符串末端,在判断该位字符的大小。
时间复杂度: O(min(n,m))