谁帮忙给我解释一下这个程序运行结果?我怎么看不懂?

2025-04-13 08:43:56
推荐回答(2个)
回答1:

static void Main(string[] args) //1.程序入口,先持行这里
{
int m = 100;
int n = 200;
Sub(out m, n); //2.调用Sub方法 并传入m的值100,n的值200; 9.为m赋予返回的值1000
Console.WriteLine(m+" \n"+n); //10.打印m的值1000换行打印n的值200换行
Add(ref m, ref n); //11.调用Sub方法 并传入m的地址,n的地址(ref 是引用传递 而并非值传递 所以如果方法内对值进行修改会直接影响传入变量的值,因为他们指向的都是同一地址)
Console.WriteLine(m+" \n"+n);//15.打印m的值1000换行打印n的值200换行
}
private static void Sub(out int a, int b) //3.运行Sub方法,a获取传入值100,b获取传入值200
{
a = 10;
b = 20;
if (a < b) //4.判断结果为true(10小于20)
{ a = 1000; b = 0; } //5.赋值;
int result = a - b; //6.result 等于1000(1000-0)
Console.WriteLine(result);//7.打印1000并换行
} //8.结束这个方法并返回a的值1000(因为out int a)
private static void Add(ref int a, ref int b)//12.接收m和n的地址
{
int result = a + b; //13.为result赋值1200(1000+200)
Console.WriteLine(result);//14.打印1200并换行;
}
------------------------------------------------------------------------------------------------------
应该够清楚了吧

回答2:

楼上...我不解释了。如果实在不明白设置 在各个方法的名称左边设置断点,然后按F10,分布查看程序执行....