我想输入一个不带空格的整数数组。
例如:- 032146548,每个整数应该单独存储在数组中,
i.e a[0]=0,a[1]=3,a[2]=2 and so on.
我该怎么做?
最佳答案
我认为说“每个数字”更清楚,因为一旦您知道字符序列 032146548
代表多少个“整数”(通常的做法是“一个”),就根本不明显了应该有好几个。
最简单的方法是将其作为数字字符串读入,然后通过减去 '0'
将每个数字转换为其对应的整数:
char line[12];
unsigned int a[10];
if(fgets(line, sizeof line, stdin) != NULL)
{
const size_t digits = strlen(line) - 1;
for(size_t i = 0; i < sizeof a; ++i)
{
if(i < digits && isdigit((unsigned int) line[i]))
a[i] = line[i] - '0';
else
a[i] = 0;
}
}
关于c - 如何输入不带空格或 '\n'的整数数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22956626/