21xrx.com
2024-12-22 19:45:23 Sunday
登录
文章检索 我的文章 写文章
C语言循环输入字符串的方法
2023-06-15 17:08:02 深夜i     --     --
C语言 字符串 循环输入 while do-while scanf() fgets()

在编写C语言程序的时候,我们时常需要循环地输入一些字符串。那么,我们该如何使用C语言来实现这个功能呢?本文将会介绍两种常见的C语言循环输入字符串的方法。

方法一:使用while循环和scanf()函数

首先,我们使用while循环来实现循环输入字符串的功能。在while循环中,我们不断地使用scanf()函数来读取输入的字符串,并将其存储到指定的数组中。具体的实现代码如下所示:


#include

int main()

{

  int i = 0;

  char str[100];

  printf("请输入字符串,按'q'键退出输入:\n");

  while(scanf("%c", &str[i]) != EOF)

  {

    //如果输入的字符是q,就退出循环

    if(str[i] == 'q')

      break;

    //将输入的字符存储到数组中

    i++;

  }

  //在输出字符串之前,需要将数组中的最后一位'\n'去掉

  str[i-1] = '\0';

  printf("输入的字符串为:%s\n", str);

  return 0;

}

在运行程序后,我们可以看到一个提示信息,要求用户输入字符串。用户可以连续输入多个字符,使用'q'键来结束输入。当用户输入完毕后,程序会输出用户输入的字符串。

方法二:使用do-while循环和fgets()函数

另外,我们还可以使用do-while循环来实现该功能。在do-while循环中,我们使用fgets()函数来读取每行输入的字符串。与上面的方法不同的是,该方法会一次性读取一整行输入的内容,并将其存储到指定的数组中。实现代码如下:


#include

int main()

{

  char str[100];

  int len;

  printf("请输入字符串:\n");

  

  do

  {

    fgets(str, 100, stdin); //读取输入的字符串

    if(str[0] != '\n') //如果输入的不是空行

    {

      len = strlen(str); //计算读取的字符串长度

      str[len-1] = '\0'; //去掉最后的换行符

      printf("%s\n", str); //输出字符串

    }

  }while(str[0] != '\n');

  return 0;

}

该方法与上述方法相比,代码量稍微多一些,但是比较直观易懂。使用该方法可以很方便地读取多个字符串,并且每次读取的字符串长度不受限制。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复