首页 > 解决方案 > C:如何拆分用户输入的数字并将其存储到元素数组中?

问题描述

我有一个用户输入的号码 321197186。如何将这个数字一次存储到一个数组中。基本上,我试图将第一个数字存储到第 0 个元素中,依此类推。然后我必须对该数字进行一些计算。

标签: c

解决方案


将您的号码表示为一个字符串,其中该字符串的每个字符都将是您号码的相应数字。

有很多方法可以读取字符串,但我建议您像这样使用fgets()

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

#define MAX_LEN 10

int main (int argc, char *argv[])
{
    char number[MAX_LEN];
    printf("Enter a number: \n");
    fgets(number, MAX_LEN , stdin);
    printf("%s\n", number);
    return 0;
}

使用 for 循环,您可以根据需要逐个访问字符串(数字)的字符(数字)。

我建议您也吃掉fgets()输入数组中留下的尾随换行符,如从 fgets() 输入中删除尾随换行符中所述。


bruno@ 提出的替代解决方案:

scanf("%9s", number);

C - scanf() vs gets() vs fgets()中阅读更多内容。


推荐阅读