void swap(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp; return *x, *y; } int main() { int a=10, b=20; swap(a, b); printf("a: %d, b: %d", a, b); } If I run this, there will be an error. Why is that?
swap
#include <stdio.h>
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
return *x, *y;
}
int main()
{
int a=10, b=20;
swap(a, b);
printf("a: %d, b: %d", a, b);
}
I'm at a loss where to begin.
First, in mathematics, a function has one Y value returned to the input X value.
If two are returned, it is not a function.
Sometimes, in a language like Python, it seems like two or more are returned, but it's one triple.
If you want to return more than two values because there is no such thing as a tutelage, you must return one value (structure) using a structure.
or
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
return *x, *y;
}
From
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
It has to be something like that.
And for the main function, the pointer must be substituted as shown below.
int main()
{
int a=10, b=20;
The swap(&a, &b); // swap function must substitute a pointer.
printf("a: %d, b: %d", a, b);
}
In summary, it should be as below.
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int a=10, b=20;
The swap(&a, &b); // swap function must substitute a pointer.
printf("a: %d, b: %d", a, b);
}
© 2024 OneMinuteCode. All rights reserved.