[请教]如何在不使用第三个变量的情况下将两个变量交换

tds3003 2004-04-01 09:47:47
如题...
...全文
132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2004-04-01
  • 打赏
  • 举报
回复
可以利用剪贴板:

'反复单击command1
Dim a As String, b As String
Private Sub Command1_Click() ' exchange a & b

Clipboard.SetText b, 1 ' send b to clipboard
b = a
a = Clipboard.GetText 'get b from clipboard to a
MsgBox "a=""" & a & """" & vbCrLf & "b=""" & b & """", 64, "after exchange"
End Sub

Private Sub Form_Load()

a = "12345"
b = "abcde"
MsgBox "a=""" & a & """" & vbCrLf & "b=""" & b & """", 64, "before exchange"
End Sub
evice 2004-04-01
  • 打赏
  • 举报
回复
好像没什么意义。
你想把两个盘子里的菜换一换,即使你像玩杂技一样把菜抛到空中,然后换盘子,在那一瞬间,空中也算是第三个容器。

交换指针也得用第三个指针吧,指针也是变量。

要是图操作省事,可做个函数,像swap一样的。
tds3003 2004-04-01
  • 打赏
  • 举报
回复
有2位了,每人50分..
tds3003 2004-04-01
  • 打赏
  • 举报
回复
楼上的大哥,是这样吧?
我结帖了,100分给你..
swap(int *a, int *b)
{*a=*a+*b;
*b=*a-*b;
*a=*a-*b;
}
华芸智森 2004-04-01
  • 打赏
  • 举报
回复
a = a xor b
b = a xor b
a = a xor b
ustc_tweeg 2004-04-01
  • 打赏
  • 举报
回复
把这两个变量的指针换一换

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧