Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 项目赢得';I don’我不知道为什么不先退出循环_C - Fatal编程技术网

C 项目赢得';I don’我不知道为什么不先退出循环

C 项目赢得';I don’我不知道为什么不先退出循环,c,C,这个程序应该是为了找到友好的伴侣。第一个输入告诉您有多少个数字将跟随,程序应该计算出这些数字中哪些是友好的对。我不知道程序是否真的能够做到这一点,因为我甚至无法通过第一个for循环,这实际上只是将需要检查的元素放入数组中 intmain(intargc,char*argv[]){ int numberOfNumbers,num; scanf(“%d”和numberOfNumbers); 整数[numberOfNumbers]; for(int i=0;i

这个程序应该是为了找到友好的伴侣。第一个输入告诉您有多少个数字将跟随,程序应该计算出这些数字中哪些是友好的对。我不知道程序是否真的能够做到这一点,因为我甚至无法通过第一个
for
循环,这实际上只是将需要检查的元素放入数组中

intmain(intargc,char*argv[]){
int numberOfNumbers,num;
scanf(“%d”和numberOfNumbers);
整数[numberOfNumbers];
for(int i=0;i

我希望程序能够转到代码的计算部分(我没有包括)然后产生一些输出,不管它是否正确,但在我输入最后一个数字后,它的行为就好像它需要另一个输入一样。在这一点上,我可以输入格雷厄姆数字的每个数字,但它仍然不会退出。

调试问题的第一步是验证您是否有正在考虑修复的问题

for (int i = 0; i < numberOfNumbers; i++) {
    scanf("%d", &num);
    numbers[i] = num;
}
for(int i=0;i
是您正在考虑修复的循环

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");
printf(“进入循环\n”);
for(int i=0;i
是完全验证您对循环的猜测是否正确(或错误)所需的代码


我希望这会有所帮助,即使这不是一个直接的答案。您的代码看起来不错,但基于很多项目(包括用户输入),可能会出错.

我看不到任何会使循环无限的东西。似乎更可能是循环后的代码表现不正常,或者发生了一个您没有注意到的错误。在循环后放置一个
printf
,以验证这一点。哈啰!您省略了一些您认为不相关的代码,但这是显示错误的代码吗问题?我注意到没有
#include
文件和缺少的结束
}
大括号。这是实际的错误代码吗?我觉得很好我们需要你所有的代码,甚至你的计算。请包括它。另一个关键步骤是检查
scanf()
是否实际返回
1
,而不是
0
或EOF。