我正在尝试编写一些 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/