У меня проблемы с компилятором.Мой фрагмент кода ниже, но когда я его запускаю, он компилируется по-другому и не может обнаружить знак «-» (минус) и заменяет его на «?».(вопросительный знак), что делает его троичным оператором.
Мой код : -
unsigned long long int find(long int N , int K){
if(K == 2){
return 2*(N - 1)*(N - 1);
}
else{
return(find(N − 1 , K) + find(N − 1 , K − 1) + find(N − 2 , K − 1));
}
}
Ошибка компилятора: -
prog.c: In function ‘find’:
prog.c:52:27: warning: left-hand operand of comma expression has no effect [-Wunused-value]
return(find(N ? 1 , K) + find(N ? 1 , K ? 1) + find(N ? 2 , K ? 1));
^
prog.c:52:30: error: expected ‘:’ before ‘)’ token
return(find(N ? 1 , K) + find(N ? 1 , K ? 1) + find(N ? 2 , K ? 1));
^
prog.c:52:16: error: too few arguments to function ‘find’
return(find(N ? 1 , K) + find(N ? 1 , K ? 1) + find(N ? 2 , K ? 1));
Я пытался использовать C-компилятор codechef и geeksforgeeks, но все равно выдает ошибку компиляции.
Пожалуйста, предложите, что должно быть сделано.