解题思路:
可以定义一个数组循环输入,也可以定义一个数组然后使用字符串输入格式 "%s" 输入,还可以使用gets输入(gets不安全,尽量不用),这里使用fgets输入,fgets函数具有三个参数,第一个参数表示输入的地址,第二个参数表示输入的大小,实际大小比该数小1,因为fgets会把最后一位用来存储换行符(自动生成),
第三个参数表示读取文件的方式(可以在文件中读取,那么就填写文件的地址,也可以从键盘中获取,也就是标准输入流stdin)
注意事项:
1、使用fgets会自动添加换行符到最后一位,而系统的回车键包含了"\r"和"\n",所以输出的时候会空一行在输出
2、gets不会自动添加换行符,但是gets不安全
参考代码:
#include <stdio.h> #include <string.h> void reverse(char s[]) { for (int i = strlen(s) - 1; i >= 0; i--) printf("%c", s[i]); } int main() { char s[100]; fgets(s, 100, stdin); // fgets会在字符串末尾自动添加换行符,而gets不会,但是gets不安全 s[strlen(s) - 1] = '\0'; // 把字符串末尾的换行符替换成结束符,就不会输出换行符 reverse(s); return 0; }
0.0分
0 人评分