请大神帮我看看这C语言哪儿错了

2025-05-06 02:06:59
推荐回答(4个)
回答1:

第一个for语句 应该是a[i]!=‘\0‘

回答2:

for (i=0;i!='\0';i++);
b=i;

这两句什么意思?没看懂,是想求出a[]的长度么?

那应该这样写啊:

for (i=0;a[i] != '\0';i++)
{
    b=i;
}

我改的程序:

#include 
int Judger(char a[]);
int main()
{
char a[80];
int flag;
gets(a);
flag=Judger(a);
if(flag)
puts(a);
else
printf("No!");
getchar();
return 0;
}
int Judger(char a[])
{
int i=0,flag=1;
while(a[i]){
i++;//i为获取a[]长度
}
for(int j=0;j<=i/2;j++)
{
if(a[j]!=a[i-1-j])
{
flag=0;
break;
}
}
return flag;
}

回答3:

#include
int len = strlen(a) ; 获取数组长度
break 这里应该改成return 既然获取了 就没必要继续判断了 直接return 0;
总体来说逻辑没问题

回答4:

定义的函数里面第一个for(;a[i]!='\0';)