Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
PPCG partial solution to https://codegolf.stackexchange.com/q/120870/6...
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
/* THIS SYSTEM DOES NOT IMPLEMENT STRRSTR */ char * strrstr(char *string, char *find) { int stringlen, findlen; char *cp; findlen = strlen(find); stringlen = strlen(string); if (findlen > stringlen) return (char*)0; for (cp = string + stringlen - findlen; cp >= string; cp--) if (strncmp(cp, find, findlen) == 0) return cp; return (char*)0; } char*s,*r,*p; #define f(h,n) \ s=strrstr(h,n);s&&((s-h)==0||(s-h)+strlen(n)==strlen(h))?printf("%.*s",(s-h),h),puts(s+strlen(n)):puts(h) int main(void) { /* VALID */ f("abcde","ab"); // -> 'cde' f("abcde","cde"); // -> 'ab' f("abab","ab"); // -> 'ab' f("abcab","ab"); // -> 'abc' or 'cab' f("ababcde","ab"); // -> 'abcde' f("acdbcd","cd"); // -> 'acdb' f("abcde","abcde");// -> '' f("abcde",""); // -> 'abcde' f("",""); // -> '' /* INVALID */ f("abcde","ae"); // -> 'abcde' f("abcde","aa"); // -> 'abcde' f("abcde","bcd"); // -> 'abcde' f("abcde","xab"); // -> 'abcde' f("abcde","yde"); // -> 'abcde' }
gcc
Show compiler warnings
[
+
] Compiler args
[
+
]
Show input
Compilation time: 0.12 sec, absolute running time: 0.14 sec, cpu time: 0 sec, memory peak: 3 Mb, absolute service time: 0,35 sec
edit mode
|
history
|
discussion
cde ab ab abc ababcde acdb abcde abcde abcde abcde abcde abcde