C语言 编写程序,读入一个以符号"."结束的长度小于20字节的英文句子,检查其是否为回文

来源:百度知道 编辑:UC知道 时间:2024/05/02 07:06:00
这是我编的程序,请高手指教一下我的程序错在哪里?在线等······
#include<stdio.h>
#include<string.h>
void main()
{
char a[20],c,str1[10],str2[10];
int i,r;
printf("输入一个以符号'.'结束的长度小于20字节的英文句子:\n");
gets(a);
r=getchar();
for(i=0;a[i]!='.';i++)
{
r++;
}
for(i=0;i<=(r-1)/2;i++)
{
str1[i]=a[i];
}
for(i=(r+1)/2;i<r-1;i++)
{
str2[i]=a[i];
}
if(strcmp(str1,str2)==0)
printf("yes");
else
printf("no");
}

for(i=0;a[i]!='.';i++)这一部编写的错误
你这是算一个数运算是否正确的程序吗

r=getchar();
for(i=0;a[i]!='.';i++)
{
r++;
}
你这两条是要求字符串长度吗?可以换成
for(i=0;a[i]!='.';i++){}
r=i-1;