指针是伟大的!
最近又拿起了C语言,再次复习了指针,忍不住称其“伟大”!下面是我实现数值的交换的方法:
void xchange(int a,int b)
{
*(int *)a=*(int *)a +*(int *)b;
*(int *)b=*(int *)a-*(int *)b;
*(int *)a=*(int *)a-*(int *)b;
}
void main()
{
int a=10,b=20;
xchange(&a,&b);
printf("a=%d,b=%d\n",a,b);
}
你能接受吗?
搜索更多相关的解决方案:
指针
----------------解决方案--------------------------------------------------------
好麻烦呀
----------------解决方案--------------------------------------------------------
有意思吗?
----------------解决方案--------------------------------------------------------
指针有的时候真的很有用..............................
----------------解决方案--------------------------------------------------------
*(int *)a=*(int *)a +*(int *)b;
*(int *)b=*(int *)a-*(int *)b;
*(int *)a=*(int *)a-*(int *)b;
这样卫冕太罗嗦了吧
----------------解决方案--------------------------------------------------------
void xchange(int a,int b)
{
*(int *)a=*(int *)a +*(int *)b;
*(int *)b=*(int *)a-*(int *)b;
*(int *)a=*(int *)a-*(int *)b;
}
把a 强制转换为 (int *) 然后再取值。
完全不正确!
//------------------------------------
a = a + b;
b = a - b;
a = a - b;
----------------解决方案--------------------------------------------------------
滥用就不太好了。。。。。。。。
----------------解决方案--------------------------------------------------------
学习了.先取地址,再取其内的值
----------------解决方案--------------------------------------------------------
学习了.先取地址,再取其内的值
----------------解决方案--------------------------------------------------------
学个屁!
void xchange(int a,int b) 这鸟函数接受的是 int 类型
xchange(&a,&b); 它调用的时候给的是地址
//-------------------------------------------------
别学楼主的样,函数要像下面这样。
void xchange(int * a, int * b)
{
*a = *a + *b;
*b = *a - *b;
*a = *a - *a;
}
[[italic] 本帖最后由 cosdos 于 2007-12-6 23:33 编辑 [/italic]]
----------------解决方案--------------------------------------------------------