fork(1) download
  1. #include <stdio.h>
  2.  
  3. char *search(char *s,char *p);
  4.  
  5. int main(){
  6. printf("NULL %s\n", search("abcdefg","aaa"));
  7. printf("abcdefg %s\n", search("abcdefg","a"));
  8. printf("g %s\n", search("abcdefg","g"));
  9. printf("NULL %s\n", search("abcdefg","ac"));
  10. printf("defg %s\n", search("abcdefg","de"));
  11. printf("fg %s\n", search("abcdefg","fg"));
  12. printf("NULL %s\n", search("abcdefg","df"));
  13. printf("abcdefg %s\n", search("abcdefg",""));
  14. printf("未定義 %s\n", search("abcdefg",NULL));/* 未定義 */
  15. printf("未定義 %s\n", search(NULL,"a"));/* 未定義 */
  16.  
  17. return 0;
  18. }
  19.  
  20. char *search(char *s,char *p){
  21. return s&&p?*p?*s?((*p==*s)&&(s+1==search(s+1,p+1)))?s:search(s+1,p):NULL:s:NULL;
  22. }
  23.  
Success #stdin #stdout 0s 2248KB
stdin
Standard input is empty
stdout
NULL (null)
abcdefg abcdefg
g g
NULL (null)
defg defg
fg fg
NULL (null)
abcdefg abcdefg
未定義 (null)
未定義 (null)