打印字符的 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);
,它会按预期工作。
第一次成功迭代后,将自动打印第二条打印语句。它正在输入一个空格。 为什么会这样?
#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);
,它会按预期工作。