c - 程序不会退出第一个 for 循环,我不知道为什么
问题描述
该程序应该找到友好的配对。第一个输入告诉你后面有多少个数字,程序应该找出这些数字中的哪些是友好的对。我不知道程序是否真的能够做到这一点,因为我什至无法通过第一个for
循环,这实际上只是将需要检查的元素放入一个数组中。
int main(int argc, char *argv[]) {
int numberOfNumbers, num;
scanf("%d", &numberOfNumbers);
int numbers[numberOfNumbers];
for (int i = 0; i < numberOfNumbers; i++) {
scanf("%d", &num);
numbers[i] = num;
}
我希望程序移动到代码的计算部分(我没有包括在内)并产生一些输出,无论它是否正确,但是在我输入最后一个数字之后,它只是表现得好像它想要另一个输入。那时我可以输入格雷厄姆号码的每一位数字,但它仍然不会退出。
解决方案
调试问题的第一步是验证您是否遇到了正在考虑解决的问题。
for (int i = 0; i < numberOfNumbers; i++) {
scanf("%d", &num);
numbers[i] = num;
}
是您正在考虑修复的循环。
printf("entering loop\n");
for (int i = 0; i < numberOfNumbers; i++) {
printf("i is %d, numberOfNumbers is %d\n", i, numberOfNumbers);
scanf("%d", &num);
numbers[i] = num;
}
printf("loop finished\n");
是您需要完全验证您对循环的猜测是否正确(或错误)的代码。
我希望这会有所帮助,即使它不是直接的答案。您的代码看起来不错,但基于很多项目(包括用户输入)可能是错误的。
推荐阅读
- c++ - 具有特征矩阵的 Stl 迭代器
- javascript - 悬停在循环 JS/jquery 中的一个元素会改变另一个元素
- javascript - 使用扫描线循环绘制填充多边形
- android - 片段事务后Android滚动视图保持滚动位置
- java - 为什么我的可执行 jar 找不到主类?
- javascript - 属性-属性同步
- java - ConcurrentHashMap 的 forEach 方法是线程安全的吗?
- asp.net-mvc - 模态形式未显示为模态
- mysql - mysql对多行特定条件进行排名
- python-3.x - ImportError:没有系统模块'pywintypes'(pywintypes39.dll)