There is a properly working code:

```
#include <iostream>

int sum_odd_digits(int n)
{
  if(n==0) return 0;
  else return (((n%2)!=0)?n%10:0) + sum_odd_digits(n/10);
}

int main(int argc, char ** argv)
{
  std::cout<<sum_odd_digits(25897641)<<std::endl;
  return 0;
}

```

But if to remove the outer parenthesis, i. e. replace

```
else return (((n%2)!=0)?n%10:0) + sum_odd_digits(n/10);

```

with

```
else return ((n%2)!=0)?n%10:0 + sum_odd_digits(n/10);

```

the program begins giving a wrong output result, i. e. begins working incorrectly.

Why? What is the difference between these 2 lines?