C 数一数一个数除以另一个数的次数
我想数一数有多少2除100。当我运行这段代码时,我得到了1和2的输出。谁能解释一下这是怎么回事?我知道我正在使用计数来跟踪分区,但在while循环中,它是如何工作的C 数一数一个数除以另一个数的次数,c,loops,while-loop,C,Loops,While Loop,我想数一数有多少2除100。当我运行这段代码时,我得到了1和2的输出。谁能解释一下这是怎么回事?我知道我正在使用计数来跟踪分区,但在while循环中,它是如何工作的 int x = 100; int count = 0; while (x % 2 == 0) { x = x / 2; count++; printf("%d", count); } 您不会得到12,而是一个1,后跟一个2 改变这个 printf("%d", count); 将来 并变得开明 您不会
int x = 100;
int count = 0;
while (x % 2 == 0)
{
x = x / 2;
count++;
printf("%d", count);
}
您不会得到
12
,而是一个1
,后跟一个2
改变这个
printf("%d", count);
将来
并变得开明 您不会得到
12
,而是一个1
,后面跟着一个2
改变这个
printf("%d", count);
将来
并变得开明 您不会得到
12
,但是1
后跟2
25%2
不等于0
。正如@alk所说。正如@alk所指出的,你在你的循环中打印。难道没有一种方法可以在1次操作中完成吗?你不会得到12
,但是1
后跟2
25%2
不等于0
。正如@alk所说。正如@alk所指出的,你在你的循环中打印。难道没有一种方法可以在1次操作中做到这一点吗?@Shudha:当你已经开悟时,确保你的计数器打印在你的循环之外。明白了@alk。对不起,我弄错了。应该是1,然后是2。我调试了它,并一步一步地看到了它。你的编辑和修改真的很有帮助。谢谢。@ShuddhaChowdhury:绝对不需要找借口,很乐意帮忙。调试是一门艺术,在任何抽象层次上。当我在循环外打印count时,我得到了“0:x=50 1:x=25 2”。再次感谢。@Shudha:当你已经开悟时,确保你的打印计数器在你的循环之外。明白了@alk。对不起,我弄错了。应该是1,然后是2。我调试了它,并一步一步地看到了它。你的编辑和修改真的很有帮助。谢谢。@ShuddhaChowdhury:绝对不需要找借口,很乐意帮忙。调试是一门艺术,在任何抽象层次上。当我在循环外打印count时,我得到了“0:x=50 1:x=25 2”。再次感谢。