| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 554 人关注过本帖
标题:为什么输出结果后还继续进行而且还输出了个不正确的结果
只看楼主 加入收藏
gikieng
Rank: 2
等 级:论坛游民
帖 子:19
专家分:14
注 册:2013-3-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
为什么输出结果后还继续进行而且还输出了个不正确的结果
#include<stdio.h>
#include<stdlib.h>

int setQueen[8];
int colset[8];
int up_left[15];
int down_left[15];
int count=-1;

void writeQueen()
{
    int i,j;
    for(i=0;i<8;i++)
    {
        for(j=0;j<8;j++)
        {
            if(setQueen[i]==j)printf("Q ");
            else printf("# ");
        }
        printf("\n");
    }
}

void addQueen()
{
    int i,j;
    count ++;
    if(count == 8)
    {
        writeQueen();
        return;
    }
    else
        for(i=0;i<8;i++)
        {
            if(colset[i]&&up_left[i-count+7]&&down_left[i+count])
            {
                setQueen[count]=i;
                colset[i]=0;
                printf("%d  %d\n",count+1,i);
                up_left[i-count+7]=0;
                down_left[i+count]=0;
                printf("\n");
                addQueen();
                colset[i]=1;
                up_left[i-count+7]=1;
                down_left[i+count]=1;
            }

        }
    count --;
    return;
}

int main()
{
    int i;
    for(i = 0;i<8;i++)colset[i]=1;
    for(i = 0;i<15;i++)
    {
        up_left[i]=1;
        down_left[i]=1;
    }
    addQueen();
    return 0;
}
搜索更多相关主题的帖子: include return count 而且 
2013-09-04 17:04
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
越界  

DO IT YOURSELF !
2013-09-04 17:23
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 
楼上说的对

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-09-04 17:45
gikieng
Rank: 2
等 级:论坛游民
帖 子:19
专家分:14
注 册:2013-3-7
收藏
得分:0 
回复 2楼 wp231957
什么越界了?

来的是新手,请多多包涵。。。
2013-09-04 21:10
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
收藏
得分:20 
越界了,
还有这里 void addQueen()
{
    int i,j;
    count ++;
    if(count == 8)
    {
        writeQueen();
        return;//你定义的函数无返回,这里应该去掉return

武功再高也怕菜刀.
2013-09-04 22:19
gikieng
Rank: 2
等 级:论坛游民
帖 子:19
专家分:14
注 册:2013-3-7
收藏
得分:0 
回复 5楼 jg658237
嗯,谢谢

来的是新手,请多多包涵。。。
2013-09-05 10:41
gikieng
Rank: 2
等 级:论坛游民
帖 子:19
专家分:14
注 册:2013-3-7
收藏
得分:0 
回复 5楼 jg658237
不过还是不理解如果加了return之后的流程到底走到哪了。

来的是新手,请多多包涵。。。
2013-09-05 10:48
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用gikieng在2013-9-5 10:48:13的发言:

不过还是不理解如果加了return之后的流程到底走到哪了。
主函数里 return 相当于 直接退出整个程序
自定义函数里  return 就是退出函数 返回调用者

[ 本帖最后由 wp231957 于 2013-9-5 11:00 编辑 ]

DO IT YOURSELF !
2013-09-05 10:58
gikieng
Rank: 2
等 级:论坛游民
帖 子:19
专家分:14
注 册:2013-3-7
收藏
得分:0 
回复 8楼 wp231957
在这里皇后放了八个后返回加return不返回到上一层吗?这么继续下去怎么跟不加return有区别呢?

来的是新手,请多多包涵。。。
2013-09-05 20:19
快速回复:为什么输出结果后还继续进行而且还输出了个不正确的结果
数据加载中...
 
   



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

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