错误:预期标识符或'(''''''}令牌}

时间:2016-05-11 01:50:20

标签: c

我知道这个问题已经被问过了,我检查了之前的所有答案,但仍然找不到错误。该程序尚未完成,因此逻辑不完整,我只想运行并查看到目前为止我所拥有的内容。

#include <math.h>
#include <stdio.h>
#include <omp.h>

int a[100][100];

int countNeighbors(int x, int y){

    int count = 0;
    int i,j;
    for (i = x-1; i <= x+1; i++)
        for (j = y-1; i <= y+1; j++)
            if (a[x][y] == 1) count++;

    return count;
}

int main (int argc, const char* argv[]) {

    int n, i, j, count;

    printf("Enter grid dimension:");
    scanf("%d",&n);   

// Initializing the array with random values
    srand (time(NULL));
    for (i=0;i<n;i++)
        for(j=0;j<n;j++)
            a[i][j] = rand() % 2;


    for (i=0;i<n;i++){
        printf("\n");
        for(j=0;j<n;j++)
            printf("%d",a[i][j]);
    }

    for (i = 1; i < n-1; i++)
        for (j = 1; j < n-1; j++){
            count = countNeighbors(i,j);
            if (a[i][j] == 1){
                if (count >= 4 || count <=1) a[i][j] = 0;
                else a[i][j] = 1;
            }   
            else if (count == 3) a[i][j] = 1;   
        }


    for (i=0;i<n;i++){
        printf("\n");
        for(j=0;j<n;j++)
            printf("%d",a[i][j]);
    }


}

1 个答案:

答案 0 :(得分:1)

问题似乎在#include <omp.h>行。某些库可能要求您按特定顺序包含其头文件,否则它们可能会导致errors like this。我的建议是尝试将#include放在文件的顶部。但是,它似乎没有被使用,所以我会把它留下来,直到你确定你需要它为止。

此外,即使您删除了#include,也需要确保#include <time.h>#include <stdlib.h>,否则您对time()rand()的来电将会导致编译错误。