C语言中如何自定义swap或power函数

定义一个函数一定要有main吗,main在函数中有什么作用,void有什么作用
#include
int main()
{
void swap(int *px, int *py)
{
int temp, x, y;

    printf("请输入x,y\n");
    scanf("%d, %d\n",&x, &y);
    px = &x;
    py = &y;
    temp = *px;
    *px = *py;
    *py = temp;
    printf("交换后x=%d, y=%d",x, y);
}
return 0;

}
该函数错在哪

 你根本没有理解函数是干嘛滴。
函数的参数是什么,函数怎么调用。
这些问题你先搞清楚。我不能代替你的书本和老师,只能写一个参考答案给你

#include <stdio.h>
void _swap(int *px, int * py) //因为标准库已经有swap,为了区分,你应该定义成_swap,当然也可以是别的函数名
{
int temp = *px;
*px = *py;
*py = temp;
}
int power(int x)
{
return x * x;
}
int main() // main函数本身用来测试和调用,构成一个完整的程序
{
int x, y;
printf("请输入x,y\n");
scanf("%d, %d", &x, &y);
_swap(&x, &y);
printf("交换后 x=%d, y=%d\n", x, y);
printf("power(x)=%d\n", power(y)); //此时的x是y
}

void是无返回值,PX,PY是地址,*PX,*PY是地址中的数据。

当你不知道函数是什么的时候,你已经知道了CSDN,已经领先于我。