c - C:如何拆分用户输入的数字并将其存储到元素数组中?
问题描述
我有一个用户输入的号码 321197186。如何将这个数字一次存储到一个数组中。基本上,我试图将第一个数字存储到第 0 个元素中,依此类推。然后我必须对该数字进行一些计算。
解决方案
将您的号码表示为一个字符串,其中该字符串的每个字符都将是您号码的相应数字。
有很多方法可以读取字符串,但我建议您像这样使用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()中阅读更多内容。
推荐阅读
- sql - sql简单连接但无法绑定多部分标识符
- android - 彩色表情符号内存使用情况
- python - python socket没有连接到其他网络
- swift - 将图像添加到我的 UIPickerView 哪里出错了?
- python - 将 pandas df 的行与同一 df 中的相同索引组合
- python - 如何从 python 中的 pandas 更改/访问 Dataframe 中的特定值
- ruby - 在类中嵌套模块并直接调用模块函数
- regex - 如何删除空白字符并在其位置插入字符串
- python-3.x - 如何使用 flask-sqlachemy 生成以下 json?
- android - 改造android中的certificatePinner