printf语句没有打印出count,如何解决?(语言-c语言)

img


运行后发现printf语句没有打印出count,如何解决?(语言-c语言)
以下是更改后代码f10运行的结果
F10

img


输入3

img


回车

img


然后一直F10

img

img

img

img

img

img

img

img


最后光标又回到了起点

把getchar方法注释掉再运行试试

望采纳!!!点击回答右侧采纳即可
这段代码有几个错误,导致了 printf 语句没有打印出 count 的值。

首先,在 for 循环的循环变量定义中,你使用的是 1=0 而不是 i=0。这会导致编译器报错,因为 1 是常量,不能被赋值。

其次,在循环条件中,你使用的是 1<32,而不是 i<32。这会导致编译器报错,因为 1 是常量,不能被比较。

正确的代码应该是这样的:

#include <stdio.h>

int main()
{
    int num = 0;
    int count = 0;
    scanf("%d\n", &num);
    int i = 0;
    for (i = 0; i < 32; i++)
    {
        if (i == ((num >> i) & 1))
        {
            count++;
        }
    }
    printf("%d\n", count);
    getchar();
    return 0;
}


如果你修改了代码并重新编译,printf 语句应该就能够正常打印出 count 的值了。

scanf 里面的 \n 删掉

img

供参考:

img