напрямую передать функцию (и вызов) функции в качестве другого параметра непосредственно в C - PullRequest
0 голосов
/ 19 января 2019

Мне интересно, можно ли это сделать с помощью указателей, кроме тех случаев, когда я думаю об этом, я понимаю, как передать функцию самостоятельно, но не возвращать.

любопытно ..

int someNum (void) {
  int num = 5;
  return num;
}

int addNum (int num) {
  int addingNum = 1;
  addingNum += num;
  return addingNum;
}

.. если это возможно ..

int main (void) {
  addNum(sumNum()) 
  return 0;
}

.. вместо этого

int main (void) {
  int num = 0;
  int newNum = 0;
  num = sumNum();
  newNum = addNum(num) 
  return 0;
}

1 Ответ

0 голосов
/ 19 января 2019

Это нормально делать:

int main (void) {
  int newNum = addNum(sumNum()) 
  return 0;
}

Результат такой же, как:

int main (void) {
  int num = 0;
  int newNum = 0;
  num = sumNum();
  newNum = addNum(num) 
  return 0;
}

Иногда мы пишем с использованием первого стиля, иногда мы можем использовать второй стиль, это зависит от того, какой из них более читабелен и понятен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...