如何在C语言中遍历一个三位数的每个数字?

4

长度始终为3,例如:

000
056
999

我该如何获取数字,以便在数组中使用单个数字的值?

将其转换为char并循环处理后再需要时转换回int是否更容易?


类似的问题已经被问了很多次,简单的谷歌搜索就能找到很多好的答案。 - Austin Henley
将整数拆分成每个数字 - AusCBloke
当你获取这些数字时,它们是什么形式?是 int 类型的值吗?还是字符字符串? - Keith Thompson
2个回答

6
要获取一个整数i的第p位小数,您需要这样做:
(i / pow(p, 10)) % 10;

所以,要从最后一位数字循环到第一位数字,你需要这样做:
int n = 56; // 056
int digit;    

while(n) {
    digit = n % 10;
    n /= 10;

    // Do something with digit
}

易于修改以确保它恰好执行3次。


-3

正如奥斯汀所说,你可以在谷歌上轻松找到答案。但基本上涉及mod-by-10,然后除以十。假设是整数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接