首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一道C程序出现declaration syntax error

2012-03-25 
一道C程序出现declaration syntax error,高手请进#includestdio.h #definetrue1#definefalse0boolis(i

一道C程序出现declaration syntax error,高手请进
#include   "stdio.h "
#define   true   1;
#define   false   0;
bool   is(int   *a)
{
int   n[14]={0,0,0,0,0,0,0,0,0,0,0,0,0,0};
for(int   i=0;i <7;i++)
n[a[i]]++;
for(int   k=0;k <10;k++)
{
if((n[0]+n[k]+n[k+1]+n[k+2]+n[k+3]+n[k+4])> 4)
return   true;
}
return   false;
}

void   main()
{
int   a[7]={9,1,2,3,4,7,10};
if(is(a))
printf( "true!!! ");
else
printf( "false!!! ");
}

[解决办法]
#include "stdio.h "
#define true 1;
#define false 0;
bool is(int *a) //既然你都define了,这里就不要用bool了,用int
{
int n[14]={0,0,0,0,0,0,0,0,0,0,0,0,0,0};
for(int i=0;i <7;i++) //i在循环外面定义
n[a[i]]++;
for(int k=0;k <10;k++)//k在循环外面定义
{
if((n[0]+n[k]+n[k+1]+n[k+2]+n[k+3]+n[k+4])> 4)
return true;
}
return false;
}

void main()
{
int a[7]={9,1,2,3,4,7,10};
if(is(a))
printf( "true!!! ");
else
printf( "false!!! ");
}


===============以下函数在TC2.0中编译通过================

#include "stdio.h "
#define true 1;
#define false 0;
int is(int *a)
{
int i,k;
int n[14]={0,0,0,0,0,0,0,0,0,0,0,0,0,0};
for(i=0;i <7;i++)
n[a[i]]++;
for(k=0;k <10;k++)
{
if((n[0]+n[k]+n[k+1]+n[k+2]+n[k+3]+n[k+4])> 4)
return true;
}
return false;
}

void main()
{
int a[7]={9,1,2,3,4,7,10};
if(is(a))
printf( "true!!! ");
else
printf( "false!!! ");
}

热点排行
Bad Request.