小编try*_*ryt的帖子

检查数字中的每个数字是否有奇怪

我正在编写一个函数来检查数字中的每个数字是否都是奇数.我遇到了这种奇怪的行为.为什么第二个函数返回不同(不正确)的结果,尽管它基本相同?(以相反的方式实施)

#include <stdio.h>

int all_odd_1(int n) {
 if (n == 0) return 0;
 if (n < 0) n = -n;

 while (n > 0) {
  if (n&1 == 1)
     n /= 10;
  else
     return 0;
  }

return 1;
}


int all_odd_2(int n) {
 if (n == 0) return 0;
 if (n < 0) n = -n;

 while (n > 0) {
  if (n&1 == 0)
     return 0;
  else
     n /= 10;
  }

return 1;
}


int main() {

 printf("all_odd_1\n");
 printf("%d\n", …
Run Code Online (Sandbox Code Playgroud)

c

4
推荐指数
2
解决办法
316
查看次数

标签 统计

c ×1