c - 在c代码的for循环中重置变量

标签 c pointers for-loop

我正在尝试编写一些 C 代码来增加 IP 地址。我希望其中一个变量“j”在达到 256 后重置回 0,因为每个八位字节只有 255 个 IP 地址。我的问题是我似乎无法将“j”设置回 0。知道我做错了什么吗?

int main()
{

    int breakCount = 300;

    int j = 0;
    int x = 0;

    for(int i = 0; i < breakCount; i++) 
    {
        printf("class-map type traffic match-all cm%d\n",i);
        printf("match source-address ipv4 100.%d.%d.0\n",x,j);

        j++;

        if (j == 256)
        {
            x++;

            int j = 0;
        }
    }

    return 0;
}

/* 代码片段输出 */

match source-address ipv4 100.0.253.0
class-map type traffic match-all cm254
match source-address ipv4 100.0.254.0

class-map type traffic match-all cm255
match source-address ipv4 100.0.255.0

class-map type traffic match-all cm256
match source-address ipv4 100.1.256.0

class-map type traffic match-all cm257
match source-address ipv4 100.1.257.0

最佳答案

int j = 0; 中删除 int 你重置它的地方(在循环中),因为现在你创建一个局部变量而不是使用一个之前声明过。

关于c - 在c代码的for循环中重置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25515074/

相关文章:

bash - 编写嵌套 shell 脚本 - 无法传递参数

c - 替换字符串中的字符

c - 当我将它作为指向通过 C 中另一个函数的函数的指针的引用传递时,兼容的指针类型是什么?

c - 以下处理指针的代码有什么问题?

java - 冒泡排序未正确排序 - Java

python - 基于 YAML 数据的条件 Python for 循环

c - C 程序在 if 语句之前关闭

c - 如何绕过长度检查执行特定的缓冲区溢出

c++ - double 0.0 是否总是在可移植 C 中准确表示?

c++ - gtkmm:什么是 Glib::RefPtr 用例?