C, (削除) 62 (削除ここまで) 58(削除) 58 (削除ここまで) 54 bytes
Thanks to @Dennis for saving four(削除) four (削除ここまで) eight bytes!
f(char*s){*++s>32||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}
Recursive version (58 bytes):
f(char*s){*++s-32&&*s||s[1]>32||(s[-1]^=s[-2]^=s[*s^=s[-1]^=s[1]^=*s^=s[-2]1]);*s&&f;*++s&&f(s);}
C, (削除) 62 (削除ここまで) 58 bytes
Thanks to @Dennis for saving four bytes!
f(char*s){*++s>32||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}
Recursive version (58 bytes):
f(char*s){*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}
C, (削除) 62 (削除ここまで) (削除) 58 (削除ここまで) 54 bytes
Thanks to @Dennis for saving (削除) four (削除ここまで) eight bytes!
f(char*s){s[1]>32||(*s^=s[-1]^=*s^=s[-1]);*++s&&f(s);}
C, 62(削除) 62 (削除ここまで) 58 bytes
Thanks to @Dennis for saving four bytes!
f(char*s){for(;*s;)*++s-32&&*s||*++s>32||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}
Recursive version (6258 bytes):
f(char*s){*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}
C, 62 bytes
f(char*s){for(;*s;)*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);}
Recursive version (62 bytes):
f(char*s){*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}
C, (削除) 62 (削除ここまで) 58 bytes
Thanks to @Dennis for saving four bytes!
f(char*s){*++s>32||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}
Recursive version (58 bytes):
f(char*s){*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}
C, 6462 bytes
t;ff(char*s){for(;*s;)*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);}
Recursive version (6462 bytes):
t;ff(char*s){*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}
C, 64 bytes
t;f(char*s){for(;*s;)*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);}
Recursive version (64 bytes):
t;f(char*s){*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}
C, 62 bytes
f(char*s){for(;*s;)*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);}
Recursive version (62 bytes):
f(char*s){*++s-32&&*s||(s[-1]^=s[-2]^=s[-1]^=s[-2]);*s&&f(s);}