在一行中输入数据,在C中用空格分隔?
假设用户输入 三五合一 然后我必须能够将它们存储在两个变量中。 用户将在一行中输入多个变量的数据,当按下enter键时,我必须能够获取每个数据并将它们存储在单独的变量中。 知道怎么做吗?使用在一行中输入数据,在C中用空格分隔?,c,C,假设用户输入 三五合一 然后我必须能够将它们存储在两个变量中。 用户将在一行中输入多个变量的数据,当按下enter键时,我必须能够获取每个数据并将它们存储在单独的变量中。 知道怎么做吗?使用scanf()。可以读取空格分隔的输入数字。 你可以用 scanf("%d%d",&a,&b) 两个号码。如果编译时输入的数量未知,则使用数组。处理变量将很容易。如果[]是数组,则变量为 a[0],a[1],a[2].... 如果输入的数量未知,则使用 int a[MAX_SIZE],n
scanf()
。可以读取空格分隔的输入数字。你可以用
scanf("%d%d",&a,&b)
两个号码。如果编译时输入的数量未知,则使用数组。处理变量将很容易。如果[]是数组,则变量为
a[0],a[1],a[2]....
如果输入的数量未知,则使用
int a[MAX_SIZE],n,i;
printf("Enter no of inputs");
scanf("%d",&n);
for(i=0;i<n;i++)
sacnf("%d",&a[i]);
inta[MAX_SIZE],n,i;
printf(“输入输入数量”);
scanf(“%d”和“&n”);
对于(i=0;i读取整行直到回车键,然后用空格作为分隔符标记字符串。这样,您可以根据需要读取任意数量的值。我可以想到许多可能的解决方案
各种解决方案包括:
一个字符一个字符地读输入字符,然后在空格上读,从中创建单词
使用va_列表
(变量参数列表)
连续扫描数字直到行尾
我将向您展示如何实现第一个,其余的供您尝试
while((ch = getchar()) != '\n')
{
if(ch == ' ')
{
a[count++] = atoi(numString);
i = 0;
numString[i] = '\0';
}
numString[i++] = ch;
numString[i] = '\0';
}
a[count++] = atoi(numString);
scanf(“%d%d”、&a和&b)
???欢迎使用堆栈溢出。请尽快阅读此页。您说的是两个变量,但随后的讨论说的是“多个”。变量数量的限制是什么?您事先知道一行上有多少个值吗?您能将数据存储在数组中吗?他不确定他将需要的变量数量。如果第35个en两个变量,如果3 5 8三个变量,这是他的问题。@pranitkothari,好的,我提到过使用数组来解决这个问题