我的代码表现得很奇怪。在第一个循环迭代中,它工作得很好,但在第二次迭代中,它会自动打印 ASCII 值 10。
#include<stdio.h>
int main(){
char c;
int loop =1;
do{
printf("\nLoop = %d\nWrite character of which you want to find acii values: ", loop);
scanf("%c", &c);
printf("\nASCII value of %c is %d.", c, c);
loop++;
}while(c != 'Z');
printf("\n******END*****");
return 0;
}
10 是 ASCII 换行符。 您正在阅读空格,您可以通过使用来避免它
scanf(" %c", &c);
注意字符说明符之前的附加空格。它指示 scanf 忽略空格。