编译没有问题(虽然时间复杂度大了点,但是想知道为什么出不来),但是打印不出结果。
4条回答 默认 最新
- it_hao528 2022-07-21 22:04关注
1、你这if判断是判断的内循环结束之后k的值对应的num[k]与target的比较,并没有比较所有的计算结果,所以不一定会有结果输出。
2、如果是查找数组nums中的任意两个数之和与target的判断的话内循环的判断是有问题的,修改后代码参考如下:int main() { int nums[6] = {1, 3, 4, 6, 8, 14}; int target = 9; for (int i = 0; i < 5; i++) { for (int j = i + 1; j < 6; j++) { if (nums[i] + nums[j] == target) { printf("%d,%d\n", i, j); } } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用