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;
}
Run Code Online (Sandbox Code Playgroud)
n是a或b数组的大小(两者的大小相同).嵌套的while循环似乎只工作一次,因为i = 0.接下来似乎发生的事情是将n神奇地改为1(开头是5),这样嵌套的while不会循环第二次.为什么会这样?
有趣的是,在返回之前回显n显示正确的值,即5 ...
编辑.For循环在这里正常工作,但问题仍然存在.