求最大公约数,我有一两个错误请指正

输入两个整数可以是正数、零和负数,两个整数的位数都不到 20 位。最大公约数必须是正整数。
注:若两个整数都为 0,则最大公约数规定为 1。
输入
25 -30
输出
5
输入
7 0
输出
7
输入
0 0
输出
1
我的代码如下

img

错误是不能运行还是结果不对