#include<iostream>
typedef void* fun(int);
void* PUT(int ch)
{
putchar(ch);
void* p = (void*)PUT;
return p;
}
int main()
{
char a = 'a',b = 'b',c = 'c',d = 'd';
fun *put = PUT;
((fun*)(((fun*)(((fun*)(put(a)))(b)))(c)))(d);
return 0;
}
我自己搞出来了,不过跟我想的有区别,那就是必须强制类型转换....
只用一个put输出了四个值。并且可以无限延长
尴尬