对于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
答案 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 */
}
}