雨中漫步~ 发表于 2021-9-16 11:13:19

S1E19第二题按要求输出字符串

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

#define LENGTH 21

int main()
{
        char s;
        int i, j, space = 0;
        unsigned int k;
        printf("请输入一行文本:");
        while ((s = getchar()) != '\n')
        {
                ;
        }
                
        for (i = 0;i < strlen(s);i++)
        {
                if (s = '\n') //判断是否有空格
                {
                        space = 1;
                        j = i;
                }
        }

        printf("%d\n",j);
        printf("%d\n",strlen(s));
        printf("您输入的文本是:%s\n", s);       
       
        return 0;
       
}

输入字符串长度位6,用strlen(s)得出结果却是9,求教。

人造人 发表于 2021-9-16 11:34:34

一条语句两个错误
if (s = '\n') //判断是否有空格

雨中漫步~ 发表于 2021-9-16 11:40:29

除了赋值运算符那里还有?

jhq999 发表于 2021-9-16 19:01:01

没有给数组赋值个字符串结尾标志\0,strlen返回值当然错了

雨中漫步~ 发表于 2021-9-16 19:34:13

jhq999 发表于 2021-9-16 19:01
没有给数组赋值个字符串结尾标志\0,strlen返回值当然错了

感谢指导
页: [1]
查看完整版本: S1E19第二题按要求输出字符串