当前位置: 代码迷 >> C语言 >> 关于数组的表达式用符号常量的问题
  详细解决方案

关于数组的表达式用符号常量的问题

热度:111   发布时间:2007-08-21 20:26:26.0
关于数组的表达式用符号常量的问题

问题:输入8个数,从小到大排序

书上的代码是这样的:

#include<Stdio.h>
#define N 8;
int main(void)
{
int a[N],i,j,t; 出错

for (i=1;i<=N;i++)
scanf ("%d",&a[i]);
t=a[0];
for (i=1;i<=N;i++)
for (j=8-i;j>0;j--)
if (a[j+1]<a[j])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for (i=1;i<=N;i++)
printf ("%-3d",a[i]);
getch();
return 0;
}

可是这样不行,编译时错误:
syntax error before ')' token
用DEV-C++和WIN-TC都是这样.

改成:

#include<Stdio.h>
int main(void)
{
int a[8],i,j,t;

for (i=1;i<=8;i++)
scanf ("%d",&a[i]);
t=a[0];
for (i=1;i<=8;i++)
for (j=8-i;j>0;j--)
if (a[j+1]<a[j])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for (i=1;i<9;i++)
printf ("%-3d",a[i]);
getch();
return 0;
}

这样就没问题了

请问为什么

[此贴子已经被作者于2007-8-21 20:27:18编辑过]

搜索更多相关的解决方案: 常量  符号  STRONG  int  表达  

----------------解决方案--------------------------------------------------------
因为你的8后面多了个分号
----------------解决方案--------------------------------------------------------
哦。......
----------------解决方案--------------------------------------------------------

程序运行之后,没有排序。


----------------解决方案--------------------------------------------------------
  相关解决方案