Это неопределенное поведение , когда вы вызываете функцию Calculate () в том же printf, и i, а также j вычисляются в этом printf (та же функция).Кстати, не рекомендуется использовать глобальные переменные (i, j) ... Только для целей тестирования, вы можете вычислить () до следующего printf для i и j.
Вы можете проверитьэто поведение с:
#include <stdio.h>
float calculate(float, float);
float i, j;
int main()
{
float a, b;
printf("Enter two numbers:\n");
scanf("%f%f", &a, &b);
printf("\nThe results are: %f", calculate(a, b));
printf(" %f %f\n", i, j);
return 0;
}
float calculate(float x, float y)
{
float r;
r = x * y;
i = x / y;
j = x - y;
return r;
}