fork download
  1. #include <stdio.h>
  2.  
  3. int strend(const char *s, const char *t)
  4. {
  5. const char *p;
  6. size_t n, m;
  7.  
  8. for (p=t; *p; ++p);
  9. m = p - t;
  10.  
  11. for (p=s; *p; ++p);
  12. n = p - s;
  13.  
  14. if (n < m)
  15. return 0;
  16.  
  17. for (s += n - m; s != p; ++s, ++t)
  18. if (*s != *t)
  19. return 0;
  20.  
  21. return 1;
  22. }
  23.  
  24. #define CHECK(s,t) printf("%-7s %-7s => %d\n", s, t, strend(s, t))
  25.  
  26. int main(void)
  27. {
  28. CHECK("abc", "c");
  29. CHECK("a", "a");
  30. CHECK("a", "ab");
  31. CHECK("abc", "");
  32. CHECK("", "");
  33. CHECK("aaaaa", "aaab");
  34. CHECK("", "q");
  35.  
  36. return 0;
  37. }
  38.  
Success #stdin #stdout 0s 5512KB
stdin
Standard input is empty
stdout
abc     c       => 1
a       a       => 1
a       ab      => 0
abc             => 1
                => 1
aaaaa   aaab    => 0
        q       => 0