迪迦


私信TA

用户名:dotcpp0776032

访问量:1141

签 名:

等  级
排  名 6762
经  验 1381
参赛次数 0
文章发表 25
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
可以定义一个数组循环输入,也可以定义一个数组然后使用字符串输入格式 "%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 人评分

  评论区

  • «
  • »