看见别人写的一个示例,讲如下的代码是有问题的。
unsigned int sum_int( unsigned int base ) { unsigned int index; static unsigned int sum = 0; // 注意,是static类型的。 for (index = 1; index <= base; index++) { sum += index; } return sum; }
原文讲,sum定义为static是不可以的。 我如果改成这样可不可以: unsigned int sum_int( unsigned int base ) { unsigned int index; static unsigned int sum ; // 注意,是static类型的。 for (sum=0,index = 1; index <= base; index++) { sum += index; } return sum; }
|