我一直在尝试编译该程序,但我不断提出错误:
在声明函数1的底部附近的[['标记]之前的“expected')'。.我那里的代码对我来说很好,所以我不太确定发生了什么。.请对此进行说明,我几乎是C的新手,请保持友善。

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


#define maxrow 20  //defines maxrow as a constant of 20
#define maxcol 30  //defines maxcol as a constant of 30


void function1(char array[][maxcol]);
void function4(int, int); //function to display the pairs count


int main( void )
{



int x = 0;
int y = 0;
int row = 0;
int col = 0;
int countX = 0;
int countY = 0;
srandom( (unsigned) time(NULL) );
char array[maxrow][maxcol];


function1(array);

/*
for (x=0;x<maxrow;x++)
    {
     for (y=0;y<maxcol;y++)
        {
         array[x][y] = random() % 26 + 'A';
         printf("%c ", array[x][y]);
        }
    printf("\n");
    }
printf("\n");
*/


for (row=0;row<maxrow-1;row++)
    {
     for (col=0;col<maxcol; col++)
        {
         if (array[row][col] == array[row+1][col])
           {
            countX++;
           }
        }
    }

for(col=0;col<maxcol-1;col++)
    {
     for (row=0;row<maxrow;row++)
        {
         if (array[row][col] == array[row][col+1])
           {
            countY++;
           }
        }
    }



function4 (countX, countY);


    return ( 0 ) ;

}    // MARKS THE END OF THE main( ) BLOCK OF STATEMENTS

这是错误所在:
void function1(array[][maxcol])
    {
    int x = 0;
    int y = 0;

     for (x=0;x<maxrow;x++)
        {
             for (y=0;y<maxcol;y++)
                {
                 array[x][y] = random() % 26 + 'A';
                 printf("%c ", array[x][y]);
                }
         printf("\n");
        }
    printf("\n");

    return(array[x][y]);
    }


void function4(int countX, int countY)
    {
    printf("\nNumber of horizontal pairs: %d\n", countX);
    printf("\nNumber of vertical pairs: %d\n\n", countY);

    }

最佳答案

更改

void function1(array[][maxcol])
         //    ^type missing


void function1(char array[][maxcol])

同样,您不能从返回类型为void的函数中返回任何内容。该声明
 return(array[x][y]);

不应该在那里。

关于c - 如何修复 "expected ' )' before ' [',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19781488/

10-12 16:12