0

我有int x = 346

我需要依次获取,每次都有一个新数字,所以首先是 3,然后是 4,然后是 6。在这里使用floor对我没有帮助,这里的其他示例只给出左/右数字。

有简单的算法吗?

4

1 回答 1

5

a%10为您提供一个数字的最后一位数字,即除以 10 时的余数。您可以打印一个数字的所有数字,如下所示:

void print_digits(int a) {
  while (a > 0) {
    printf("%d\n", a%10);
    a /= 10;
  }
}

这将从最低有效位到最高有效位打印数字。例如,如果您使用辅助堆栈,则可以以相反的顺序获取它们。

于 2013-09-26T14:33:03.260 回答