请大家帮忙看看这段C#代码!(30分)

  • 主题发起人 主题发起人 0000
  • 开始时间 开始时间
0

0000

Unregistered / Unconfirmed
GUEST, unregistred user!
请大家帮忙看看这段C#代码!运行结果和预期不一样。谢谢帮忙!谢谢!
using System;

class swap
{
public void swapNum(int a ,int b)
{
a=a+b;
b=a-b;
a=a-b;


}
}

class building
{
private static swap swapab;
public static void Main()
{
swapab = new swap();
int x;
int y;
x=Convert.ToInt32(Console.ReadLine());
y=Convert.ToInt32(Console.ReadLine());

swapab.swapNum(x,y);



Console.WriteLine("x="+x);
Console.WriteLine("y="+y);

Console.ReadLine();
}

}  
 
你运行的结果是什么?
 
public void swapNum(int a ,int b)
{
a=a+b;
b=a-b;
a=a-b;


}
这个程序毫无用处.
 
你运行的是什么结果
 
你要的是﹕
public void swapNum(int a ,int b)
{
int c;
c=a;
a=b;
b=c;
}
這個吧﹖
 
這個SWAP是交換用的
C# 不知道
如果是C的話就是傳數據與傳指針的問題
你應該用指針來作參數
 
这不就是不用第三个变量,交换两个数嘛!
 
public void swapNum(ref int a ,ref int b)
{
int temp = a;
a=b;
b=temp;
}
 
此段函数应这样写才行,因为a和b是输入参数也是输出参数,
否则运算之后没有输出自然不会起到作用。
public void swapNum(ref int a ,ref int b)
{
a=a+b;
b=a-b;
a=a-b;

}
 
zxlzxl123是正解
 
是的,zxlzxl123说的没错。
 
后退
顶部