在C语言的字符串输入中,定义一个char型的字符串:
#define len 1024
char a[len];
gets(a);
puts(a);
如果用while(1)循环,那么清理键盘缓存很有必要,否则在上一次gets中输入的回车键会计算到下一个gets中导致错误。
清理键盘缓存的代码是rewind(stdin);
下面是一个判断输入字符串是否是回文字符串的程序
//判断输入的一串字符是否都是回文
#include <stdio.h>
#include <string.h>
#define len 1024
int main()
{
while(1)
{
char a[len],*pstart,*pend;
printf("Please input a string:");
rewind(stdin);
gets(a);
int length=strlen(a);
pstart=a;
pend=a+length-1;
while((*pstart==*pend)&&(pstart<pend))
{
pstart++;
pend--;
}
if(pstart<pend)
printf("这不是一个回文字符串!");
else
printf("这是一个回文字符串!");
printf("是否退出?\n1:退出\n2:继续\n");
int i;
scanf("%d",&i);
if(i==1) break;
}
}