解题思路:
注意事项:手生了,上来犯了大错。。。注意!
gets() 是有缓冲区的,每次按下回车键,就代表当前输入结束了,gets() 开始从缓冲区中读取内容,这一点和 scanf() 是一样的。
gets() 和 scanf() 的主要区别是: scanf() 读取字符串时以空格为分隔(%s\%c都是这样),遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。
gets() 认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空格,只要不按下回车键,对 gets() 来说就是一个完整的字符串。
参考代码:
#include<stdio.h>
void out(char m[]);
int main()
{
int j,n;
char a[20];
gets(a);
/*for(j=0;j<20;j++)
{
printf("%c",a[j]);
}*/
out(a);
}
void out(char m[])
{
int i;
for(i=18;i>=0;i--)//注意此处18要仔细查或者尝试出来
{
printf("%c",m[i]);
}
}
0.0分
2 人评分