C语言,我想编个程序,怎么让程序里两张图片互换位置?

2025-02-28 21:18:19
推荐回答(3个)
回答1:

第一个传递的是值,就是说将实参的值赋值给形参了,就相当于int
a,b;
a=b;
a的值改变了,并不影响b的值。
第二个传递的是地址,数组名表示的就是数组的首地址,所以形参
char
a[]
其实就是
char
*a;
将实参的地址赋值给
a了,所以形参改变了,实参也改变了。
这就相当于
int
a;int
*p
=&a;
如果
*p发生了变化,a的值也跟着发生变化。

回答2:

int press;
int map_W=50,map_h=50;
press=0;

while(1){

if(MS_DOWN)
press++;

if(press==2){
if(abs(Bx-map_w)==Ax)||abs(By-map_h)==Ay)
do_change();
else
press=0;
}

思路就是每点一次鼠标,记录press加1,当press等于二时说明是己点了两次,(这里没有判断是否在同一张图,你可加入是同一张图就不加,只要判断X Y 是否大于图的宽高,是就是另一张。)
然后再判断A的X和B的X或A的Y和B的Y是否刚好是一张图的宽或高,
是就是相邻。就交换,反之,press 置0,再从新检测两次按鼠标。

回答3:

判断鼠标点击了哪个图片,设置点击标志位并且为1,当鼠标点击图标并且点击标志位为1,如果图片相邻,那么互换图片,标志位置0.