函数调用问题 求高手帮忙看看 实在是不会改了

夏日不浪漫 2015-12-06 05:30:08
#include<stdio.h>
void StatisticsNum()
{
int i,a=0,t=0,Result,Num1[10],Num2[10];
for(i=0;i<10;i++)
{
scanf("%d",&Num1[i]);
}
for(i=0;i<10;i++)
{
if(Num1[i]>0)
{
Num2[a]=Num1[i];
a++;
}
if(Num1[i]%2==0)
{
t++;
}
}
for(a=0;a<10;a++)
{
Result+=Num2[a];
}
printf("所有正数的和为%d,偶数个数为%d。\n",Result,t);
}
void StatisticsChar()
{
int i,t;
char Char[100];
for(i=0;;i++)
{
while(Char[i]!='#')
{
scanf("%c",&Char[i]);
}
}
for(i=0;;i++)
{
if(Char[i]>=97 && Char[i]<=122)
{
t++;
}
}
printf("字符个数为%d,小写字母的个数为%d。\n",i,t);

}
int StatisticsMax(int n)
{
int i,term;
int Max[n];
for(i=0;i<n;i++)
{
scanf("%d",&Max[i]);
}
for(i=1;i<n;i++)
{
term=Max[0];
if(Max[i]>term)
{
term=Max[i];
}
}
return term;
}
void prog4()
{
int x,term;
scanf("%d",&x);
StatisticsNum();
StatisticsChar();
term=StatisticsMax(x);
printf("最大值为%d",term);
}
void main()
{
prog4();
}

c(51) : error C2057: expected constant expression
c(51) : error C2466: cannot allocate an array of constant size 0
c(51) : error C2133: 'Max' : unknown size
...全文
145 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
linzertling 2015-12-06
  • 打赏
  • 举报
回复
函数没声明就直接调用?把子函数放main函数后边,先声明后调用
fefe82 2015-12-06
  • 打赏
  • 举报
回复
VS 不支持 variable length array。 换个编译器吧。
paschen 2015-12-06
  • 打赏
  • 举报
回复
数组类型必须编译时确定大小 int Max[n]; 这里n是一个变量,所以不行 如果一定只能是变量,可以考虑使用动态分配内存

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧