无法理解功能输出(C)

时间:2017-06-11 09:31:17

标签: c function

试图学习C我遇到了这个问题:我正在尝试编写一个平方函数,它应该在屏幕上打印一个填充的正方形,其大小和用户选择的填充字符。所以我写了这个:

#include <stdio.h>

int squared (int side, char fillCharacter);

int main(){
    int side;
    char fillCharacter;

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

    printf("Enter the character ");
    scanf("%c", &fillCharacter);

    printf("%d%c",squared(side, fillCharacter));
}

int squared (int side, char fillCharacter){
    for (int row=1 ; row <=  side; row++){
        for (int i =1; i <= side; i++){
        printf("%c", fillCharacter);

        }
    puts("");

    }
}

但遗憾的是,这个输出甚至没有扫描角色而只是打印一个空格

Enter the side 2
Enter the character 

我尝试改变一些事情,但我做得更糟,所以如果有人能给我一个提示,我真的很感激。感谢。

1 个答案:

答案 0 :(得分:0)

这与this problem相关联。这个答案提供了一个修复,但你可以通过反转对scanf的调用来修复它:首先是字符,然后是数字。