void digui(int a) { if (m[a] == 'a') { m[a] = 'z'; digui(a - 1); } else m[a]=m[a]-1; }哪里有问题
时间: 2024-05-25 11:15:31 浏览: 57
DiGui.rar_Floyd java_floyd
这段代码的问题在于没有考虑到当m[a]为‘a’并且a为0的情况。此时会出现数组下标越界的问题。应该加上一个判断语句,如下所示:
void digui(int a) {
if (m[a] == 'a') {
m[a] = 'z';
if(a>0) //加上判断语句
digui(a - 1);
} else {
m[a]=m[a]-1;
}
}
阅读全文