華為code中的字串萬用字元匹配
阿新 • • 發佈:2019-01-23
#define FALSE 0 #define TRUE 1 #define M 300 #include<stdio.h> #include<string.h> int equal(char *s, char *p) { char temp; char * p_tmp; while (*s) { if (*s != '?' && *s != '*') { if (*s != *p && (abs(*s - *p) != 32)) { return FALSE; } else { s++; p++; } } else { if (*s == '?') { if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z') || (*p >= '0' && *p <= '9')) { s++; p++; } else { return FALSE; } } else //*s == '*' { while (*s == '*') { s++; } if (!(*s)) { return TRUE; } while (*s != *p && (abs(*s - *p) != 32)) { p++; if (!(*p)) { return FALSE; } } } } } if (*p) { return FALSE; } else { return TRUE; } } void main(void) { char s[M] = { 0 }; char p[M] = { 0 }; int test = FALSE; scanf("%s %s", s, p); test = equal(s, p); printf("%d", test); }