Изменить значение параметра используя функцию

У меня есть в функции main уже определенный парметр со значением 3.И я хочу создать функцию, которая возьмет мой парметр и например прибавит к нему 2.И потом вернет этот параметр с уже новым значением.Я пытался использовать static, но что то не получается.И при использовании printf выведется уже новое значение.Заранее благодарю.

Код:

#include <stdio.h>

void f(int p){
  p=p+2;
  return p;
} 

int main(void)
{
  static int i = 3;
  f(i);
  
  printf("%d", i);

  return 0;
}

Ответы (1 шт):

Автор решения: rusgeli

Просто присвойте переменной результат функции:

#include <stdio.h>

int f(int p){
  p=p+2;
  return p;
} 

int main(void)
{
  int i = 3;
  i = f(i);
  
  printf("%d", i);

  return 0;
}

Либо, ели не хотите так, воспользуйтесь указателями:

#include <stdio.h>

void f(int *p){
  *p = *p+2;
} 

int main(void)
{
  int i = 3;
  f(&i);
  
  printf("%d", i);

  return 0;
}
→ Ссылка