C语言中逐个获取输入的未知个数数据的常用方法是什么?
比如输入一组未知个数的数,空格间隔,要得到它们的和。如果用数组先储存它们的话,数组的长度未知;再比如要对输入的字符串进行处理,储存在数组中后,如果字符串中有空格,用for...
比如输入一组未知个数的数,空格间隔,要得到它们的和。如果用数组先储存它们的话,数组的长度未知;再比如要对输入的字符串进行处理,储存在数组中后,如果字符串中有空格,用for语句的话,似乎遇见空格for就结束了。
这种一次性输入多个的数据的情况该怎么处理?初学C语言 展开
这种一次性输入多个的数据的情况该怎么处理?初学C语言 展开
2个回答
展开全部
1 折中方法,可以在输入前打印规则,比如说“每个数据用逗号分隔”、“每个数据用?分隔”;
2 如果一定要用空格的话,可以用gets函数来接收输入的字符串
格式:gets(字符数组名);功能:gets函数用于将输入的字符串内容存放到指定的字符数组中,输入结尾的换行符'\n'被换成'\0'存储在该数组中。
举例说明如下:
char str[20]; // 定义一个字符数组,大小为20个字节
gets(str); // 将用户输入的字符串(可以包含空格)存储到字符数组str中,以回车结束输入printf("%s", str); // 输出用户输入的字符串(包含空格)
注:使用gets函数时,需将头文件#include<stdio.h>包含到源文件中。
然后遍历str数组,遇到空格就分词
2 如果一定要用空格的话,可以用gets函数来接收输入的字符串
格式:gets(字符数组名);功能:gets函数用于将输入的字符串内容存放到指定的字符数组中,输入结尾的换行符'\n'被换成'\0'存储在该数组中。
举例说明如下:
char str[20]; // 定义一个字符数组,大小为20个字节
gets(str); // 将用户输入的字符串(可以包含空格)存储到字符数组str中,以回车结束输入printf("%s", str); // 输出用户输入的字符串(包含空格)
注:使用gets函数时,需将头文件#include<stdio.h>包含到源文件中。
然后遍历str数组,遇到空格就分词
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询