三点氵 发表于 2021-7-11 13:50:24

s1e19课后动手第1题求助

#include <stdio.h>
#include <string.h>

//要求 A:定义一个长度为 21 的字符数组,用于存放用户输入的文本;
//要求 B:如果用户输入的文本长度超过 20 个字符,且文本中存在空格,则截取至最接近末尾(第 20 个字符串)的空格;A7?b@$g
//要求 C:如果用户输入的文本长度超过 20 个字符,且文本中不存在空格,则打印前 20 个字符。
void main()
{
        int i, j = 0;
        char str1;

        printf("请输入一行文本:");
        scanf("%s", str1);

        for (i = 20; i >= j; i--)
        {
                if (str1 == ' ')
                {
                        str1 = '\0';
                        break;
                }
        }
        printf("您输入的文本是:%s\n", str1);

}
//为什么这样不能正常运行?

boat7 发表于 2021-7-11 22:12:40

最好不用scanf,scanf 遇到空格会终止
页: [1]
查看完整版本: s1e19课后动手第1题求助