循环2自动获取输入

问题描述 投票:0回答:1

我的代码表现得很奇怪。在第一个循环迭代中,它工作得很好,但在第二次迭代中,它会自动打印 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;

}
c loops do-while
1个回答
0
投票

10 是 ASCII 换行符。 您正在阅读空格,您可以通过使用来避免它

scanf(" %c", &c);

注意字符说明符之前的附加空格。它指示 scanf 忽略空格。

© www.soinside.com 2019 - 2024. All rights reserved.