我从不使用逗号操作符。但是有时候,当我写递归函数的时候,会犯一个愚蠢的错误:忘记函数名字。这就是为什么最后一个操作数被返回,而不是递归调用的结果。
以下是一个简单的例子:
int binpow(int a,int b){
if(!b)
return 1;
if(b&1)
return a*binpow(a,b-1);
return (a*a,b/2); // comma operator
}
在编程中,是否可能出现编译错误而不是难以调试的错误代码?