输入功能不执行

我是c的初学者,将不胜感激。 在此代码中,该函数不会输出数组的成员。我不明白为什么。它停止执行。

我正在尝试检查该功能是否正常运行,但事实并非如此。

在我的代码中,我需要用星号随机填充数组,其余部分用空格填充。

有人可以帮忙吗?谢谢。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int toss_coin();
int generate_board_size();
void populate_board(char**arr,int size_of_board);

int main(){

srand(time(NULL));

printf("\n*Game to play for an Exam?*");printf("\nLet's get started and toss a coin!");

int res;
res=toss_coin();

int size,cntrl_var;


if (res==1){
    cntrl_var=0;
    while(cntrl_var==0){
    printf("\nUser will start!");printf("\nEnter the number of rows: ");
    scanf("%d",&size);
    if(size >= 10 && size<= 100)
        cntrl_var=1;
    else{
        printf("\nWrong input.");
        cntrl_var=0;}}

char**bor=(char **)malloc(size*sizeof(char *));
if(bor == NULL ){
    printf("\nCouldn't allocate the memory!");
    return -1;}

else
    printf("\n\nBoard is generated!");

populate_board(bor,size);
int i,j;
for(i=0;i<size;i++){
    for(j=0;j<size;j++){
        printf("   %c",bor[i][j]);}}


}

else{
    printf("\nComputer will start!");

    size=generate_board_size();

char**bor=(char **)malloc(size*sizeof(char *));
if(bor == NULL ){
    printf("\nCouldn't allocate the memory!");
    return -1;}

else
    printf("\n\nBoard is generated!");

populate_board(bor,size);
int i,j;
for(i=0;i<size;i++){
    for(j=0;j<size;j++){
        printf("   %c",bor[i][j]);}}
}

}

int toss_coin(){

int toss= rand()%2 + 1;

if (toss==1)
    return 1;

else
    return 2;}

int generate_board_size(){

int size;

size=rand()%91 +10;

return size;}

void populate_board(char**arr,int size_of_board){

int i,j;


for(i=0;i<size_of_board;i++){
    for(j=0;j<size_of_board;j++){
        if (toss_coin()==1){
            arr[i][j]='*';}
        else{
            arr[i][j]=' ';}}}}
评论