#include #include #define cmp(s1, s2) strcmp(s1, s2) ? "Not Equal" : "Equal" int main(void) { char *string1 = "Hello World"; // normal ASCII char *string2 = "Hellо Wоrld"; // These are not latin o's char *string3 = "Hellⲟ W𐓪rld"; // These are also not latin o's and different from the above non-latin o's char *string4 = "Ⓗⓔⓛⓛⓞ Ⓦⓞⓡⓛⓓ"; // letters in circles, sure that exists in UNICODE for some reason char *string5 = "Hëllo World"; // e with a diaeresis (one character) char *string6 = "Hëllo World"; // latin small letter e followed by a combining diaeresis (two characters) printf("string1 == string2: %s\n", cmp(string1, string2)); printf("string1 == string3: %s\n", cmp(string1, string3)); printf("string1 == string4: %s\n", cmp(string1, string4)); printf("string1 == string5: %s\n", cmp(string1, string5)); printf("string1 == string6: %s\n", cmp(string1, string6)); printf("string2 == string3: %s\n", cmp(string2, string3)); printf("string2 == string4: %s\n", cmp(string2, string4)); printf("string2 == string5: %s\n", cmp(string2, string5)); printf("string2 == string6: %s\n", cmp(string2, string6)); printf("string3 == string4: %s\n", cmp(string3, string4)); printf("string3 == string5: %s\n", cmp(string3, string5)); printf("string3 == string6: %s\n", cmp(string3, string6)); printf("string4 == string5: %s\n", cmp(string4, string5)); printf("string4 == string6: %s\n", cmp(string4, string6)); printf("string5 == string6: %s\n", cmp(string5, string6)); char _; scanf("%c", &_); printf("string1: %lu\n", strlen(string1)); printf("string2: %lu\n", strlen(string2)); printf("string3: %lu\n", strlen(string3)); printf("string4: %lu\n", strlen(string4)); printf("string5: %lu\n", strlen(string5)); printf("string6: %lu\n", strlen(string6)); }