在ANSI C代码中,经常可以看到括号将单个返回值括起来。
像这样:
int foo(int x) { if (x) return (-1); else return (0); }
在这种情况下,为什么要在返回值周围使用()?有任何想法吗?我看不出有什么理由。
确实没有理由……这只是古老的惯例。
为了节省空间,程序员通常会在返回行中而不是在返回行中进行最后的数学运算,并且确保大多数都位于括号内,以便更轻松地看到返回的是单个语句,如下所示:
return (x+i*2);
代替
int y = x+i*2; return y;
圆括号成为一种习惯,并且被卡住了。