错的,变量是可以修改的,常量不可以 静态局部变量和静态外部变量是一样的,差别就是一个局部一个全局,只是static又不是const
应该分别统计正数和负数已经输入的个数,只用 i 不行
当编译器处理该代码时,遇到静态变量的初始化,就会在函数f外单独生成一条命令,给j赋值为0. 这些命令甚至会在main函数调用以前就执行。而在函数中,第一条语句实际上不是j=0,而是++j。这样,使得静态局部变量只初始化一次。
static意思是静态的。变量分常量和变量。只有常量只能赋值一次。是不是只能赋值一次是靠最后两个字(即常量或者变量)来区分的。static变量(如:static int n)即静态变量。静态变量也是变量,只有静态常量才只能赋值一次。变量只用定义一次。建议LZ多看看基本语法。
在C语言中,定义变量时不能连续给多个变量赋初值,其主要原因在于:C语言的语法规则只允许为每个变量单独赋值,因此每个变量都必须有一个独立的赋值操作。在C语言的设计者看来,定义变量时连续给多个变量赋初值,会导致代码的可读性和可维护性降低。 在C语言中,变量的声明和初始化是分开的两个步骤,声明变量用于告诉编译器...
1.引入头文件#include "stdafx.h"和#include "stdio.h"。2.定义主函数void main(){},在主函数中插入如下代码:int number[11];int i = 0;for (i=0;i<10;i++){ number[i]=i+1;} for (i=0;i<10;i++){ printf("%d ",number[i]);} 3.点击红叹号测试。
1>.在程序中可以多次给一个变量赋值,每赋一次值,与该变量相应的存储单元的数据就被更新一次,内存中当前的数据就是最后一次所赋值的那个数据。即,最左边变量所得到的新值是整个赋值表达式的值。 2>.赋值运算符的优先级别高于逗号运算符。 3>.注意赋值运算符“=”和等于运算符“==”的差别 ...
B、静态局部变量实在编译时赋初始值的,即只赋值一次。 C、如果在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符‘\0’(对字符变量)。而对自动变量来说,它的值是一个不确定的值。这是由于每次函数调用结束后存储单元已经释放,下次调用时又重新另分配存储单元,所分...
例如:char c = 65; 该赋值将会将字符变量c的值赋为'A'对应的ASCII码。4. 转义字符赋值:可以使用转义字符赋值给字符变量。例如:char c = '\n'; 该赋值将会将字符变量c的值赋为换行符。需要注意的是,字符变量只能存储一个字符,因此如果尝试将多个字符赋值给一个字符变量,只会存储其中的一个字符。例如:char...
对于全局变量和静态变量,初始化的代码其实是在main函数调用之前就执行的,因此只能初始化一次。对于局部变量(非static的),初始化其实就是一次赋值而已。以上是初始化的含义。至于“初始化一次”,这个问题就可以忽略了。