原始代码是:
if (expression1) statement1;
else statement2;
有可能把它变成这个吗?
expression1 ? statement1 : statement2
还是取决于编译器?这似乎在c标准中有所不同?
有时情况是if(expression1)statement1;我怎么能改变它?
顺便说一句,它可以在c中完成.
使源代码不可读正是我想要做的
这只是其中一个步骤
错误:条件运算符的第二个操作数是’void’类型,但第三个操作数既不是throw-expression也不是’void’类型
这是我在编译时用g(TDM-2 mingw32)4.4.1得到的
#include
void _(int __,int ___,int ____,int _____)
{
((___ / __) <= _____) ? _(__,___+_____,____,_____) : !(___ % __) ? _(__,___ % __,_____) :
((___ % __)==(___ / __) && !____) ? (printf("%d\n",(___ / __)),_(__,_____)) : ((___ % __) > _____ && (___ % __) < (___ / __)) ?
_(__,_____ + !((___ / __) % (___ % __))) : (___ < __ * __) ?
_(__,_____) : 0;
}
int main() {
_(100,1);
return 0;
}
如果我用throw 0替换最后的0,它将成功编译.