прошли неправильный типа У меня есть следующая программаWeird поведения функции, когда параметры
void swap(float * x, float * y)
{
float aux
aux = *x;
*x = *y;
*y = aux;
}
int main(void)
{
double a = 3.5, b = 5.6;
swap(&a, &b);
printf("%g %g\n", a, b);
return 0;
}
Программа компилируется, он явно бросает некоторые предупреждения, но она работает, и значение a, b
не получает местами. Я не понимаю, что происходит, я бы подумал, что это не скомпилировано, или это сработает, но это совсем другое.
Что происходит?
'swap (& a, &b);' '' '' '' '' '' '' '' '' 'удваиваются! –
Да, я знаю, это то, что я спрашиваю, почему функция выполняется правильно, но ничего не делает? это катастрофа или что-то в этом роде – YoTengoUnLCD
Возможно, прислушайтесь к предупреждениям - они есть по какой-то причине (например, ум ваш) –