c预压静态变量赋值问题
时间: 2024-06-12 16:09:43 浏览: 115
预压地基施工记录.doc
在C语言中,静态变量在初始化时只会赋值一次,且默认情况下赋值为0。如果不显式地给静态变量赋初值,则编译器会自动将其初始化为0。
以下是一个示例代码,展示了静态变量的预压赋值问题:
```c
#include <stdio.h>
void func() {
static int count = 0; // 静态变量在函数外部声明时可以指定初值
count++;
printf("count: %d\n", count);
}
int main() {
for (int i = 0; i < 5; i++) {
func();
}
return 0;
}
```
输出结果为:
```
count: 1
count: 2
count: 3
count: 4
count: 5
```
这里的静态变量`count`在函数`func()`中被定义,并在每次函数调用时自增。由于它是静态变量,预压时只会进行一次赋值,即将其初始化为0。然后,每次调用`func()`都会对其进行自增操作,输出递增的计数值。
阅读全文