$ cat t.cpp
int sign(int i) {
if(i > 0) return 1;
if(i == 0) return 0;
if(i < 0) return -1;
}
$ g++ -c t.cpp -Wall
t.cpp: In function ‘int sign(int)’:
t.cpp:5: warning: control reaches end of non-void function
$
int sign(int i) {
if(i > 0) return 1;
if(i == 0) return 0;
return -1; // i<0
}
int sign(int i) {
return (i>0) ? 1 : ((i<0)?-1:0);
}
int sign(int i) {
return (i > 0) - (i < 0);
}
int sign(int i)
{
if (i > 0)
return 1;
else if (i == 0)
return 0;
else
return -1; // i<0
}
Unoptimized Optimized (-O5)
if 166 110
?: 150 98
>-< 122 98