【问题标题】:Program not reading and printing character程序不读取和打印字符
【发布时间】:2015-10-18 08:23:45
【问题描述】:

这是一个打印由一个字符组成的 side = integer 正方形的程序。

例如:如果输入的字符是#,则输出:

但是,它不会读取用户输入,因此也无法将其打印成正方形。

请看下面的代码:

    //printing of square of any character problem 5.20
    #include<stdio.h>

    int main( void )
{
     int i, h;
     int side;
     char fillCharacter;

     printf("Enter the side:\n");
     scanf("%d", &side);

     printf("Enter the character with which to make a square of side %d:\n", side );
     scanf("%c", &fillCharacter );

     for( h = 1; h <= side; ++h ) {

       for( i = 1; i <= side; i++ ) {

          printf( "%c ", fillCharacter );
     }
     printf("\n");
}
return 0;
}

程序运行为-

也就是说,它不会从用户那里获取字符值,尽管它存在于源代码中。

请帮助解决问题。

【问题讨论】:

  • 请在此处发布输出,而不是在链接中。
  • @Haris:您需要至少 10 的声誉才能发布图片。新用户发布链接是完全可以的。如果图像有用,友好的编辑可能会通过并修复此问题(以及帖子中的其他问题,所以谢谢酷哥!)。
  • @Jongware 哎呀..不知道这个..谢谢..

标签: c printf scanf getchar


【解决方案1】:

在第二个scanf()加一个空格

scanf(" %c", &fillCharacter );

这是必需的,因为当您输入第一个 scanf() 的数字时,该数字会被读入 side,但换行符 \n 会留在输入缓冲区中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    相关资源
    最近更新 更多