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

これは、10 x 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");
    }
}

上記の機能を利用した機能。ここで 1 つのエラーが発生します。

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’
4

2 に答える 2

0

drawMap()入力として 1 つのパラメーターを取りますが、3 つのパラメーターを指定しています。

于 2013-10-17T22:12:56.227 に答える
0

コードにはいくつか問題があります。

  1. 関数を呼び出すときに変数の型を使用しません。そのため、findThecookie(char map[10][10], int j, int i) を使用して関数を呼び出す代わりに。findThecookie(map, j, i) である必要があります。
  2. findThecookie はパラメーターを想定していませんが、3 つ指定しようとしています。
  3. drawMap は 1 つのパラメーターを想定していますが、3 つ指定します。

これを読んでください: http://www.tutorialspoint.com/cprogramming/c_functions.htmこれは、C で関数を使用するための基本的なチュートリアルです。頑張ってください!

于 2013-10-17T22:16:57.167 に答える