【发布时间】:2016-01-20 08:05:17
【问题描述】:
我正在做一个项目,我必须创建一个矩阵并对其进行初始化。
这就是我对init 矩阵所做的:
int levenshtein(char *string1, char *string2)
{
int32_t firstWord = strlen(string1);
int32_t secondWord = strlen(string2);
int32_t matrice[MAXWORD][MAXWORD]; //MAXWORD = 155
int32_t i = 0;
int32_t j = 0;
while (i++ < MAXWORD)
{
matrice[i][0] = i;
matrice[0][i] = i;
}
}
所以当我打印矩阵时,我应该输入matrice[0][0] = 0、matrice[1][0] = 1 等
但是当我打印矩阵时,一切都会很好,例如 matrice[1][0] 它等于 MAXWORD。
但是如果像这样增加它,它同时工作得很好
while (i < MAXWORD)
{
matrice[i][0] = i;
matrice[0][i] = i;
i++
}
为什么在退出while 后while (i++ < MAXWORD) 会改变matrice[1][0](并且只有matrice[1][0])的结果?
【问题讨论】:
-
为什么不使用
for()循环?这是在一个范围内增加变量的正常方法。
标签: c while-loop increment