新人刚加入论坛,有问题希望大佬解答
麻烦dalao看一下,我写的程序为什么加了一个不改变数字的for循环结果就不一样了?#include<stdio.h>
#include<stdlib.h>
int sort(int a[],int n,int result[],int m);
int main()
{
int q;
int result[10];
int arr[6] = {2,8,4,11,3,9}, target = 6;
sort(arr,target,result,10);
for(q=0;q<10;q+=2)
{
if((arr[result[q]]+arr[result[q+1]])==target)
{
printf("(%d,%d)\n",result[q],result[q+1]);
printf("arr[%d]=%d,arr[%d]=%d\n",result[q],arr[result[q]],result[q+1],arr[result[q+1]]);
printf("q=%d\n",q);
}
}
return 0;
}
int sort(int a[],int n,int result[],int m)
{
int q=0;
int outcome=0;
for(n=0;n<6;n++)
{
for(m=1;m<6;m++)
{
outcome=a[n]+a[m];
if (outcome==6)
{
result [q]=n;
result [(q+1)]=m;
q+=2;
}
}
for(n=0;n<10;n++)
{
printf("a[%d]=%d\n",n,a[n]);
printf("result[%d]=%d\n",n,result[n]);
}
/*这个程序为什么加了上面的printf的for循环就消失了一个(4,4)?*/
}
n=0;
}
[此贴子已经被作者于2021-12-19 17:48编辑过]