int count(int *a, int *b, int n) {
int i=0,j=0,roz=0;
while(i<n) {
while(j<n) {
if(a[i]==b[j])
roz++;
j++;
}
i++;
}
return roz;
}
n 是 a 或 b 数组的大小(两者大小相同)。嵌套的 while 循环似乎只工作一次,因为 i = 0。接下来发生的事情似乎是神奇地将 n 更改为 1(一开始是 5),因此嵌套的 while 不会第二次循环. 为什么呢?
有趣的是,在返回之前回显 n 会显示正确的值,即 5...
编辑。For 循环在这里正常工作,但问题仍然存在。