2015-10-18 58 views
1

這是一個程序打印一個方形的side =整數由一個字符組成。程序不讀取和打印字符

對於例如:如果輸入的字符輸出爲#

Example output

但是它不讀取用戶輸入,並且因此也未能將其打印在正方形。

請參見下面的代碼:

//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; 
} 

程序運行爲 -

Output

也就是說,它不會盡管它存在的線從用戶那裏得到的字符值在源代碼中。

請幫助糾正問題。

+0

請在此輸出,而不是鏈接。 – Haris

+0

@Haris:你需要聲望至少10才能發佈圖片。新用戶張貼鏈接完全可以。如果圖片很有用,友好的編輯可能會通過並解決此問題(以及其他問題,所以非常感謝Cool Guy!)。 – usr2564301

+0

@Jongware哎呀..不知道這個..謝謝.. – Haris

回答

1

在第二scanf()

scanf(" %c", &fillCharacter); 

這是必要的,因爲當你輸入的號碼爲第scanf(),數讀入side但換行符\n留在輸入緩衝器添加一個空格。

+0

嘿謝謝你的解決方案。有效。 – user1940012