首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C:如何将一个多位数分解成独立的变量?

C:如何将一个多位数分解成独立的变量?
EN

Stack Overflow用户
提问于 2012-02-16 06:46:52
回答 10查看 140.9K关注 0票数 28

假设我有一个用C写的多位整数,我想把它分成几个一位的整数。

123会变成123

我如何做到这一点,特别是当我不知道整数有多少位的时候?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2012-02-16 06:52:03

代码语言:javascript
复制
int value = 123;
while (value > 0) {
 int digit = value % 10;
 // do something with digit
 value /= 10;
}
票数 48
EN

Stack Overflow用户

发布于 2012-02-16 06:55:07

首先,计算数字:

代码语言:javascript
复制
unsigned int count(unsigned int i) {
 unsigned int ret=1;
 while (i/=10) ret++;
 return ret;
}

然后,您可以将它们存储在一个数组中:

代码语言:javascript
复制
unsigned int num=123; //for example
unsigned int dig=count(num);
char arr[dig];
while (dig--) {
 arr[dig]=num%10;
 num/=10;
}
票数 8
EN

Stack Overflow用户

发布于 2012-02-16 06:51:38

作为提示,获得数字中的第n位非常简单;除以10n次,然后mod 10,或C:

代码语言:javascript
复制
int nthdig(int n, int k){
     while(n--)
         k/=10;
     return k%10;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9302681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档