int multiple(int, int);
scanf("%d %d", &x, &y);
int multiple(int N,int M)
The loop does print up to 98. However,
multiple is declared to return an
int but doesn't actually have a
return statement, so the return value is unspecified (and in practice you'll get some arbitrary value from a previous calculation). Then you print this "garbage" return value and in your case it happens to be 105.
If you don't want
multiple to return a value then don't declare it to return a value, and don't print the value it returns.