【问题标题】:loop 2 taking input automatically循环 2 自动接受输入
【发布时间】:2021-01-26 08:28:36
【问题描述】:

我的代码行为异常。在循环 1 中它运行良好,但在循环 2 中它会自动打印 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】:

    10 是换行符的 ASCII。您正在阅读空白,您可以通过使用来避免这种情况

    scanf(" %c", &c);
    

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

    【讨论】:

      猜你喜欢
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 2017-03-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多