fork download
  1. #include <stdio.h>
  2. #include <ctype.h>
  3.  
  4. int fuzzyStrcmp(char s[], char t[]){
  5. int i = 0;
  6.  
  7. // 両方の文字列が続く限りループ
  8. while (s[i] != '\0' || t[i] != '\0') {
  9. // 片方を小文字に変換した値と、もう片方を小文字に変換した値を比較
  10. // tolowerはアルファベット以外(数字や記号)には何もしないので安全です
  11. if (tolower((unsigned char)s[i]) != tolower((unsigned char)t[i])) {
  12. return 0; // 一文字でも違えば「一致しない(0)」を返して終了
  13. }
  14.  
  15. // 文字列の終端に達したかチェック(片方だけ終わっている場合の防止)
  16. if (s[i] == '\0' || t[i] == '\0') {
  17. break;
  18. }
  19.  
  20. i++;
  21. }
  22.  
  23. return 1; // 最後まで全て一致していれば「一致(1)」を返す
  24. }
  25.  
  26. // メイン関数は変更なし
  27. int main(){
  28. int ans;
  29. char s[100];
  30. char t[100];
  31. scanf("%s %s",s,t);
  32. printf("%s = %s -> ",s,t);
  33. ans = fuzzyStrcmp(s,t);
  34. printf("%d\n",ans);
  35. return 0;
  36. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
�:�t| =  -> 0