for循环没有工作,但while循环没有

时间:2017-11-02 12:04:13

标签: c algorithm loops

我创建了一个在特殊区域周围创建边框的函数(这些信息存储在下面的struct表中):

typedef struct s_letter_stock
{
    int element_nb;
    int width;
    int height;
    t_pos square_p1;
    t_pos square_p2;
} g_letter_stock;
//those values are for the example
g_letter_stock letter_infos[] = {{ 0, 0, 0, {0, 0}, {0, 0} },
                                 { 0, 0, 0, {0, 0}, {0, 0} }};

我发现了一个疯狂的错误:下面函数中的for loop在第一次运行时效果很好,但是如果在循环结束时有一个中断(并且我打印{{1}时)它会停止它具有正确的价值)。所以基本上我不知道为什么nb_elemfor(在评论中)工作时停止。你对这种奇怪的行为有什么看法吗?我没有想法。

while

2 个答案:

答案 0 :(得分:2)

您需要删除声明:

i++;

位于for循环的底部,因为您已在i条件的第三部分中增加了for

答案 1 :(得分:2)

我看到每个循环有2个执行时间i++(在for (int i = 0 ; i < nb_elem ; i++)和循环结束时)