当前位置: 代码迷 >> C语言 >> 求助!这段哪里错了??
  详细解决方案

求助!这段哪里错了??

热度:316   发布时间:2008-06-26 17:30:39.0
求助!这段哪里错了??
#include"stdio.h"
#include"conio.h"
#include"math.h"
int n,k,a[20],num=0;
int attack(int k)
{
    int flag=0;
    int i=1;
    while((i<k)&&(a[k]!=a)&&(fabs(a[k]-a)!=(k-i)))i++;
    if(i==k)flag=1;
    return flag;
}
void place(int k)
{
    printf("%d",k);
    int i;
    if(k==n+1)
    {
        num=num+1;
        printf("num=%d",num);
        for(i=1;i<n+1;i++)
        printf("%d",a);
        printf("\n");
        else
        {
            for(i=1;i<n+1;i++)
            {a[k]=i;
                if(attack(k)==1)
                place(k+1);
                else
                a[k]=0;
            }
        }
    }
}
    main()
    {
        scanf("%d",&n);
        k=1;
        place(k);
        if(k!=n+1)
        printf("no sloution!\n");
        getch();
    }
郁闷。。我是找原文写的。。可是编译报错。。
帮我看下哪里出问题了。。
谢谢!!
搜索更多相关的解决方案: int  num  flag  include  

----------------解决方案--------------------------------------------------------
请你说清楚是什么错


[color=white]<>
----------------解决方案--------------------------------------------------------
是在while这段
显示的错误是:Non-portable pointer comparison in function attack!
----------------解决方案--------------------------------------------------------
((i<k)&&(a[k]!=a)&&(fabs(a[k]-a))!=(k-i))i++;
----------------解决方案--------------------------------------------------------
LS的什么意思???
----------------解决方案--------------------------------------------------------
就是连续4个大括号的地方  多了个大括号
----------------解决方案--------------------------------------------------------
while((i<k)&&(a[k]!=a)&&(fabs(a[k]-a)!=(k-i)))
      i++;
----------------解决方案--------------------------------------------------------
十里平湖霜满天,寸寸青丝愁华年.对月形单望相互,只羡鸳鸯不羡仙.

羡什么鸳鸯啊。。。。
是个傻子哦。。。
----------------解决方案--------------------------------------------------------
晕。。。。。。。。。。。。。。。
改了去我。。。。。。。。。。。。
----------------解决方案--------------------------------------------------------
  相关解决方案