【发布时间】:2011-02-03 12:48:04
【问题描述】:
包括
main()
{
int a;
for(a=1; a<=4 && printf("%d ",a); a++)
{
int a;
static int b=a;
printf("%d ",(a++)-b);
}
getchar();
getchar();
}
在这段代码中,打印输出是 1 0 2 1 3 2 4 3。我明白为什么 int a; part 的工作方式与在 for 函数之外定义的 int a 不同,为什么是 static int b;仅使用 a 的主值定义一次;但是为什么 printf 中的 (a++) 部分会影响 a 的后续值?我们不要重新定义 int a;每次 for 函数运行时?提前致谢。
【问题讨论】:
-
@all-editors: 当太多人同时编辑时不好;)
-
这不是家庭作业。我为全国比赛学习 C 拼图。
标签: c variables integer for-loop definition