【发布时间】:2014-02-09 01:12:21
【问题描述】:
我正在尝试编写一个 C# 函数来确定数组中的最大值并通过引用传递它。
这是我第一次使用 C# 编程,但我似乎无法在 main 中正确分配它,这让我很烦恼。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
class Program
{
static void Maxim(int n, ref int maxim, params int[] v) {
int i, max=v[0];
for (i = 0; i < n; i++) {
if (v[i] > max) max = v[i];
}
}
static void Main()
{
int[] vector = new int[10];
int n, i;
int maximul;
Console.WriteLine("Introduceti numarul de elemente: ");
n = Int32.Parse(Console.ReadLine());
Console.WriteLine("Valoarea introdusa: {0}", n);
for (i = 0; i < n; i++) {
vector[i] = Int32.Parse(Console.ReadLine());
}
Console.WriteLine("Elementele introduse sunt: ");
for (i = 0; i < n; i++) {
Console.WriteLine("Elementul {0}: {1}", i + 1, vector[i]);
}
Maxim(n, ref maximul, vector);
Console.WriteLine("Maximul din vector: {0}", maximul);
Console.ReadLine();
}
}
}
它返回以下错误:Use of unassigned local variable。
【问题讨论】:
-
尝试设置 maximul=0;在声明中。
-
您永远不会在
Maxim函数中分配maxim。 -
查看此问题的最佳答案以获取有关
out与ref的解释:stackoverflow.com/questions/135234/…