打印字符的 ascii 值时发现错误

Found error while printing the ascii value of a character

第一次成功迭代后,将自动打印第二条打印语句。它正在输入一个空格。 为什么会这样?

    #include<stdio.h>
    int main() {
        char c;
        while (1)
        {
            printf("\nEnter any character to get its ASCII value - ");
            scanf("%c",&c);
            printf("Ascii value of %c : %d",c,c);
        }
        
    }

示例输出:

这是因为换行符仍然保留在输入缓冲区中,将scanf("%c",&c);更改为scanf(" %c",&c);,它会按预期工作。