在c中正确声明变量

时间:2012-07-05 20:32:27

标签: c scanf

对于c编码器来说,下面的内容肯定会非常简单,但我正在编写一个小程序来模拟一些名为gomoku的游戏。对于用户,您必须输入一个整数N,其对应于'N次N'平方,其由'N次N'整数组成。

所以代码运行得很好,但我有一个简单的问题:当我输入'N次N'整数时,我做了一些

    int N;
    scanf("%d",&N);
    char c[N][N];
    while (i<N){
        scanf("%s\n",&c[i]); 
        i++;
    }

然后我将每个c[i]的char转换为int,以进行涉及c[i][j]的计算,这非常不自然。但是如果我必须声明int c[N][N],就不可能像在while循环运行时那样输入相同的整数c[i][j]

有没有人有想法声明int c[N][N],输入整数,然后用整数c[i][j]进行计算时计算它?

最佳, Newben

1 个答案:

答案 0 :(得分:1)

您不必读取char,然后将其转换为int。你可以简单地阅读integeres:

for(int i = 0; i < N; ++i)
    scanf("%d", &c[i]);       //of course c has to be int** type

你确定要读N个整数吗?整个阵列不是N N?如果您想要将N N个对象读取到数组,代码应如下所示:

int N, i, j;
scanf("%d",&N);
int c[N][N];

for(i = 0; i < N; ++i)
{
    for(j = 0; j < N; ++j)
    {
        scanf("%d", &c[i][j]);
        /* do something */
    }
}