C 从整数中提取奇数位

标签 c

我需要提取奇数并给出输出,但是当我执行代码时,它以相反的顺序给我(例如预期输出是1234 = 13 但我的代码给了我31)。

int digit, num;
while (num > 0)
{
     digit = num % 10; 
    if(digit % 2 != 0)
    {
     printf("%d" , digit);
    }

    num /= 10;
}

最佳答案

那是因为您首先在以下语句中打印除法运算的余数:

digit = num % 10; 

您必须将它存储在一个数组中,并且在所有除法完成后才打印它。

关于C 从整数中提取奇数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52089080/

相关文章:

c - gcc 函数属性会影响函数指针吗?

c - C语言打印字符串问题

c - 多线程从一个管道读取

c - 如何检查 float 是否无穷大/零/非正规?

c - 如何选择其中一个选项?

c - C语言中如何初始化结构体指针?

c - 为什么像 memchr 这样的函数绑定(bind)到 C 实现而不是用纯 Rust 编写?

c - 为子函数中的结构指针分配空间

c - 在 C 中像 shell 一样解析命令

c - 在本地声明二维数组并以非常量大小存储在堆上