为什么我会收到错误错误:'char'之前的预期表达式?

时间:2013-10-17 22:06:03

标签: multidimensional-array

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

这是我的函数,它打印一个10乘10'的数组。

void drawMap(char map[10][10]){
    int i, j;
    printf("Now drawing map\n");
    for(i = 0; i < 10; i++){
        for(j = 0; j < 10; j++){
            map[i][j] = '.';
            printf("%c ", map[i][j]);
        }
        printf("\n");
    }
}

使用上述功能的功能。我在这里得到一个错误。

void findThecookie(){
    drawMap(char map[10][10], int i, int j);
}

这是我的主要功能。

int main()     
{

    int gamenumber;
    int randomNumber;
    int guessednum;

    printf("Hello and welcome to my babysitting game.\n");
    printf("Please select your option. Your choices are:\n");
    printf("1) Number guessing game\n" "2) Rock-Paper-Scissors\n" "3) Area of a Random Rectangle\n" "4) Find the Cookie\n" "5) Quit\n");
    scanf("%d", &gamenumber);  
    if(gamenumber == 1){
        numberGuessing();
    }
    if(gamenumber == 2){
        rockPaperscissors();
    }
    if(gamenumber == 3){
        randomRectangle();
    }

这里的另一个错误

if(gamenumber == 4){
    findThecookie(char map[10][10], int i, int j);
}
if(gamenumber == 5){
    printf("Exiting the program\n");
} 

return 0;

每次我尝试编译我都会得到错误

project2.c: In function ‘findThecookie’:
project2.c:22:9: error: expected expression before ‘char’
project2.c: In function ‘main’:
project2.c:171:17: error: expected expression before ‘char’

2 个答案:

答案 0 :(得分:0)

drawMap()将一个参数作为输入,但您提供了3个参数。

答案 1 :(得分:0)

您的代码有几个问题:

  1. 调用函数时不使用变量类型。所以不要使用findThecookie调用函数(char map [10] [10],int j,int i)。它应该是findThecookie(map,j,i)。
  2. findThecookie不期望任何参数,但你试着给它三个。
  3. drawMap确实需要一个参数,但你给它三个。
  4. 阅读本文:http://www.tutorialspoint.com/cprogramming/c_functions.htm这是关于在C中使用函数的基础教程。 祝你好运!