霡霂小雨 发表于 2020-10-23 23:15:52

关于C语言数组用getchar输入,再用循环输出的问题

关于C语言数组用getchar输入,再用循环输出的问题
#include<stdio.h>

int main()
{
        char a;
        int time = 0;
       
        printf("请输入一个英语句子:");//这是一个输入一个句子,再输出的程序
        while(1)
        {
                int i = 0;
               
                if((a= getchar()) == '\n')
                {
                        a = i ;//得到字符的个数
                        a = '\0';
                        break;//当读取到'\n'时跳出循环
                }
                i++;
        }
       
        for(int i = 0;i <= a + 1;i++)
        {
                printf("%c",a);
        }
        return 0;
}
由我的思路怎么以最小的改动修改,我这错在哪
谢谢各位!!

LuLD 发表于 2020-10-24 09:36:51

本帖最后由 LuLD 于 2020-10-24 09:38 编辑

while 循环里 的i 初始化 放在 while循环的 前边


#include<stdio.h>

int main()
{
    char a;
    int time = 0;

    printf("请输入一个英语句子:");//这是一个输入一个句子,再输出的程序
    int i = 0;//------<<<
    while (1)
    {
      //int i = 0;//把 i 的初始化 放在 while 循环前边

      if ((a = getchar()) == '\n')
      {
            a = i;//得到字符的个数
            a = '\0';
            break;//当读取到'\n'时跳出循环
      }
      i++;
    }

    for (int i = 0; i <= a + 1; i++)
    {
      printf("%c", a);
    }
    return 0;
}

霡霂小雨 发表于 2020-10-24 21:39:28

LuLD 发表于 2020-10-24 09:36
while 循环里 的i 初始化 放在 while循环的 前边

谢谢
页: [1]
查看完整版本: 关于C语言数组用getchar输入,再用循环输出的问题