C语言小白入门,写存在重复数字算法题的时候出了一个Bug,调试的时候发现是双重for循环下面的if语句判断导致变量没变,数组里的值却变了,比如i=0;nums[i]先由1变成了2,求大佬解答,具体代码如下:
bool containsDuplicate(int* nums, int numsSize){ int n=0; for(int i=0;i<numsSize;i++){ for(int j=i+1;j<numsSize;j++){ if(i==j){ continue; }else if(nums[i]=nums[j]){ n+=1; }
}
} if(n==0){ return false; }else{ return true; } }
int main(void) {
int nums[]={1,2,3,4};
if(containsDuplicate(nums,4)){ printf("真");
}else{ printf("假"); } return 0;
}