为什么在ACM里面总是出现 Compilation Error错误啊?!在C-FREE里运行0错误0警告啊!
如题..程序如下:#include<stdio.h>intmain(){intN,i,b=0;N=1;while(N!=EOF){scanf("%d",&N);if(N=...
如题..
程序如下:
#include<stdio.h>
int main()
{
int N,i,b=0;
N=1;
while(N!=EOF)
{
scanf("%d",&N);
if(N==0) return 0;
int a[N];
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
{
b=a[i]+b;
a[i]=0;
}
printf("%d\n",b);
b=0;
}
}
ACM里面警告的是:
4_0_106736_9815.c
4_0_106736_9815.c(11) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
4_0_106736_9815.c(14) : error C2065: “a” : 未声明的标识符
4_0_106736_9815.c(14) : error C2109: 下标要求数组或指针类型
4_0_106736_9815.c(18) : error C2109: 下标要求数组或指针类型
4_0_106736_9815.c(19) : error C2109: 下标要求数组或指针类型
但是为什么c-free里面连警告都咩有呢? 展开
程序如下:
#include<stdio.h>
int main()
{
int N,i,b=0;
N=1;
while(N!=EOF)
{
scanf("%d",&N);
if(N==0) return 0;
int a[N];
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
{
b=a[i]+b;
a[i]=0;
}
printf("%d\n",b);
b=0;
}
}
ACM里面警告的是:
4_0_106736_9815.c
4_0_106736_9815.c(11) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
4_0_106736_9815.c(14) : error C2065: “a” : 未声明的标识符
4_0_106736_9815.c(14) : error C2109: 下标要求数组或指针类型
4_0_106736_9815.c(18) : error C2109: 下标要求数组或指针类型
4_0_106736_9815.c(19) : error C2109: 下标要求数组或指针类型
但是为什么c-free里面连警告都咩有呢? 展开
3个回答
展开全部
编译器不同……
改成这样就行了。。
#include<stdio.h>
int main()
{
int N,i,b=0;
int a[1000]; //这里的数组要足够大 要满足题目的要求……
N=1;
while(N!=EOF)
{
scanf("%d",&N);
if(N==0) return 0;
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
{
b=a[i]+b;
a[i]=0;
}
printf("%d\n",b);
b=0;
}
}
改成这样就行了。。
#include<stdio.h>
int main()
{
int N,i,b=0;
int a[1000]; //这里的数组要足够大 要满足题目的要求……
N=1;
while(N!=EOF)
{
scanf("%d",&N);
if(N==0) return 0;
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
{
b=a[i]+b;
a[i]=0;
}
printf("%d\n",b);
b=0;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询