declaration syntax error错误

[复制链接]
查看11 | 回复1 | 2009-5-15 08:52:28 | 显示全部楼层 |阅读模式
刚学到静态变量书上有个程序,
#include《stdio.h>
main()
{
increment();
increment();
increment();
}
increment()
{
static int x=0;
x=x+1;
printf("%d,",x);
}
那位可以指点下哪错了,和具体说下,静态变量跟动态变量的区别(你的理解)。书上的就免了。
行了,谢谢,你说的这句话意思我明白,但在联系到这问题上我不明白,就像这里输出是1,2,3,动态的话输出1,1,1.我不明白为什么会这样输出,在函数调用的时候static int x=0;不会重新赋值成0吗? 而动态时每次赋值成0,但是否每次调用完了以后就删除,然后再调用,在赋值?

回复

使用道具 举报

千问 | 2009-5-15 08:52:28 | 显示全部楼层
这样就可以了:#include
//楼主这的尖括号应该是笔误吧?increment(){static int x=0;x=x+1;printf("%d,",x);} main ()
//这儿的括号也打错了,
//所有的符号应该都是在英文状态下输入才行{increment();increment();increment();}(我给出的程序自己能运行出来的)原来错了的原因是:如果没有在main()主函数中声明increment()函数的话,其定义就必须放在main()主函数前面区别:静态变量的作用域是整个程序...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行