| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 896 人关注过本帖
标题:新人刚加入论坛,有问题希望大佬解答
只看楼主 加入收藏
newnoob
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2021-12-19
收藏
 问题点数:0 回复次数:5 
新人刚加入论坛,有问题希望大佬解答
麻烦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编辑过]

搜索更多相关主题的帖子: target int printf for result 
2021-12-19 17:24
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
代码太长懒得看

为什么加了一个不改变数字的for循环结果就不一样了?
明明你改变了n的值呀!
有了你的这个for,之后n必然都等于10了。
收到的鲜花
  • newnoob2021-12-20 16:41 送鲜花  4朵  
  • 合伙人太好2022-07-01 11:20 送鲜花  1朵  
2021-12-19 19:06
newnoob
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2021-12-19
收藏
得分:0 
回复 2楼 rjsp
可是函数在调用数组的时候a[],n这里的n不是没有影响吗?
2021-12-19 20:16
newnoob
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2021-12-19
收藏
得分:0 
回复 2楼 rjsp
而且最后我在调试的时候数组result的结果都变了,可是我只是加了一个printf的for循环啊
2021-12-19 20:20
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
以下是引用newnoob在2021-12-19 20:16:44的发言:

可是函数在调用数组的时候a[],n这里的n不是没有影响吗?

我听不懂你在说什么,若把你的那个for删掉,然后改为 n=10; 的话,结果将得跟有for时一样,你的那个for的副作用就是 n=10。

另外,你的其它代码也是一塌糊涂,不如把题目贴出来让别人帮你写一个吧
2021-12-20 08:24
newnoob
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2021-12-19
收藏
得分:0 
回复 5楼 rjsp
懂了懂了,调试了几次发现是循环写大循环里了
感谢dalao
2021-12-20 16:41
快速回复:新人刚加入论坛,有问题希望大佬解答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015242 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved