我问这个问题是因为我在做一个基本程序,当我编译它时,我有一个警告,它说"警告:‘main’通常是一个函数",然后在同一行中犯语法错误。我的程序是关于回文的,在西班牙语中我们说"capicua"。谢谢你的帮助。我用C.编程
int T=10;
int CargarVector(char Vec[T]);
int escapicua(char Vec[T])
int main()
{ //here is the error!!
char Vec[T];
cargarVector(Vec);
escapicua(Vec);
return 0;
}
int CargarVector(int Vec[T])
{
int i=0;
printf("ingrese letra");
aux=getche();
while(aux!='.'&&i<T)
{
while(aux<'a'||aux>'Z')
{
printf("Error, ingrese letra del Abcdario")
aux=getche();
}
Vec[i]=aux;
i++;
printf("ingrese letra");
aux=getche();
}
r=i;
return 0;
}
int escapicua(char Vec[T])
{
int i,c;
for(i=0;i<(T/2),i++)
{
if(Vec[i]!=Vec[(T-1)]
{
C++
}
if(C>0)
{
printf("No es capicua");
}
else
{
printf("Es capicua")
}
}
return 0;
}
这是因为您忘记在前一行的前向声明后面放一个分号:
int escapicua(char Vec[T]);
// Here ------- ^
请注意,函数声明中忽略了数组大小和参数名称,因此下面的声明是等效的:
int escapicua(char[]);
int escapicua(char Vec[T]);
// ^
您忘记了函数前向声明后的;
。