C# 里 我定义了一个求最小公约数的方法 为什么说我 并非所有的代码路径都返回值? 求大神指教~代码如下

public int x; public int y; public int X { get { return x; } set { x = value; } } public int Y { get { return y; } set { y = value; } } public int gongyue() { int i; if (x > y) i = y; else i = x; for (; i >1; i--) { if (x % i == 0 && y % i == 0) return i; else return 1; }求指教~ ~ ~为什么这里的公约数方法 加了一个return 1 就好了? 不懂啊.....
2026年09月19日 21:46
有2个网友回答
网友(1):

必须所有分支都要有返回值;对于程序而言,for循环一定会有执行结束的时候(正常无死循环),因此for循环外也必须存在返回值,否则代码检查会报错,为了与for循环中返回的区别,可以返回-1;实际程序是执行不到的。

网友(2):

因为函数类型你定义为int。所以就必须返回一个int值
你把return写在for循环里的话,不满足条件时就不返回了。所以就报错