Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 数一数一个数除以另一个数的次数_C_Loops_While Loop - Fatal编程技术网

C 数一数一个数除以另一个数的次数

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); 将来 并变得开明 您不会

我想数一数有多少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);
将来


并变得开明

您不会得到
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”。再次感谢。