В конце функции появляется какое-то число

Я написал функцию которая должна выводить все чётные числа до n. Функция работает, но в конце само по себе какое-то число появляется.

int func(int n){
for(int i=1;i<=n;i++)
 if(i%2==0)
  cout<<i<<endl;}
 int main(){
   int n=8;
   func(n); 
   return 0;}

Выводятся числа 2;4;6;8, a в конце 3508944, которая нигде не была написана


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

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

Вы просите вывести число, которое возвращает func().

И что она возвращает?

А ничего! Вы не написали return. По стандарту это - неопределенное поведение, вот компилятор и просто вернул какую-то ерунду.

А если посмотреть на строку

n=8;

то такой код просто не должен компилироваться. Что такое n? Его объявления нет...

И еще - а зачем вы вообще пытаетесь вывести это f(n)? Почему не просто вызвать?

→ Ссылка