参考该博客讲字符串输入输出 https://blog.csdn.net/zhao888789/article/details/79176924
字符串输入函数
- scanf():通过格式控制符 %s 输入字符串。除了字符串,scanf() 还能输入其他类型的数据。
- gets():直接输入字符串,并且只能输入字符串。
博主经验总结的结论:如果希望读取的字符串中不包含空格,那么使用 scanf() 函数;如果希望获取整行字符串,那么使用 gets() 函数,它能避免空格的截断。
字符串输出函数
- puts():直接输出字符串,并且只能输出字符串。
- printf():通过格式控制符 %s 输出字符串。除了字符串,printf() 还能输出其他类型的数据。
//判断字符串回文
#include<stdio.h>
int main()
{
int i,j,k;
char a[10],b[10];
printf("enter a string: ");
i=0;
while((a[i]=getchar())!='\n');
i++;
a[i]='\n';
i=i-1;
j=0;
while(j<i){
if(a[i]!=a[j])
break; //不是回文,提前结束循环
j++;
i--;
}
if(j>=i) //是回文,正常结束回文
printf("yes\n");
else
printf("no\n");
return 0;
}
enter a string: abcba
yes
//深入理解字符串的输入输出和字符的输入输出
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,k,len;
char a[10],b[10];
printf("enter a string: ");
scanf("%s",a); //这里的a是一个数组
printf("%s\n",a); //%s用于字符串输入输出
len=strlen(a); //计算字符串长度
for(i=0; i<len; i++)
{
printf("%c",a[i]); //%c用于单个字符的输入输出
printf("a[%d]=%c\n",i,a[i]);
}
//while((a[i]=getchar())!='\n');
//i++;
//a[i]='\n';
i=i-1;
j=0;
while(j<i){
if(a[i]!=a[j])
break;
j++;
i--;
}
if(j>=i)
printf("yes\n");
else
printf("no\n");
return 0;
}
enter a string: abcba
abcba
aa[0]=a
ba[1]=b
ca[2]=c
ba[3]=b
aa[4]=a
yes