c语言静态变量赋值
答:当编译器处理该代码时,遇到静态变量的初始化,就会在函数f外单独生成一条命令,给j赋值为0. 这些命令甚至会在main函数调用以前就执行。而在函数中,第一条语句实际上不是j=0,而是++j。这样,使得静态局部变量只初始化一次。
答:我认为 static型变量能够保持上一次的值不变 那么下一次调用函数时,再对其赋值是无效的 因为它的值上一次的保持不变 比如:for (i=0; i<3; i++ ){ static j = 0; //每次循环对 j 赋值为0,可是赋值无效,输出结果还是:1 2 3 j++;printf("%d ", j);} ...
答:静态局部变量实际上是外部于这个函数的全局量,退出函数时,它的值保留在那里,再调用函数时,如果不被赋新值,它仍保留老值。
答:static修饰的变量只被初始化一次,并且保持最近的值,哪怕创建它的函数已经结束,这个变量也不会被释放,下次调用是同一个地址,所以里面的值是上次的。具体原因请关注变量分配空间相关知识,神马常量区,代码区,堆栈区的
答:关于这个问题,你要记住静态变量的特点:1.定义时的初值赋值只执行初始一次;2.它的值是在静态区分配的,再次执行时它值并不消失;这不很简单,它的值再次执行都是存在的;而局部变量(自动变量)就不同了,每次重新分配,重新初始;上面程序中,主程序中的m是局部变量,栈中分配的;子程序中m是静态...
答:c语言中静态变量作常量使用,用于存储常数。可用const,constant或final等关键字标识,其值就会在编译时设定,并且无法在运行时改变。编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区;而如若有需要,有些编译器还可选择为其开辟专用区。对于静态全局变量来说,针对某...
答:static int a=3; //第一次调用函数时,a的值是3。第二次调用时,a的值是第一次调用结束时a保留的值。第三次调用时,a的值是第二次调用结束时a保留的值。依次类推。
答:static c = 3; 只初始化一次,后面再使用c就是用上次f()返回后c的结果 所以当i=0时,f()中a=2,c初始化为3,c=c+1后c=4,返回a+c=4+2=6。返回后c保持为4 当i=1时,f()中a=2,c初始值为上次返回后的结果4,从而c=c+1=5,函数返回a+c=2+5=7。返回后c保持为5。当i=...
答:全局变量包括静态全局变量和非静态全局变量,在没有初始化值时,其值自动为0,即定义在所有函数外,不归属于任何一个函数的,在没有初始化值时,自动为0;静态全局变量当定义在函数内的全局变量,有static标记时,默认初始化为0值;非静态全局变量没有默认初始值,C语言规定初始化值为随机值,但具体的...
答:声明格式是 static 类型 变量名=初始值;如 static int a=2;注意静态变量在整个程序运行过程中,只初始化1次。如果没有指定初始值,则该静态变量的初值是0(如果是字符串则是空串,仅包含结束标记)。如 static int a;执行后a的值是0(但注意,这条语句只能执行1次)另外,由于静态变量存储的内存区域...
网友评论:
辕易15048516094:
C语言编程,变量赋值 -
33236邬琳
: #include int main() {FILE* file;char varn[30][30];double var[30];char ch;int i=0,j=0;file=fopen("123.txt","r"); //当前工作目录while((ch=fgetc(file))!=10){ungetc(ch,file);fscanf(file,"%s",varn[i++]);}while(fscanf(file,"%lf",&var[j++])!...
辕易15048516094:
C语言:怎么实现将我们输入的数据赋给一个静态变量啊 -
33236邬琳
: #include <stdio.h> int main() { static int a; scanf("%d",&a); printf("%d\n",a); return 0; } 跟普通的赋值没区别 只是被声明静态的数据保存在全局数据区
辕易15048516094:
c语言 赋值 保存 -
33236邬琳
: 要是想让一个变量在同一次运行中再次被使用的时候保留上次调用时的值可以将其声明为静态变量 如static int a 不过程序中使用的变量等会在程序退出的时候被销毁,如果想在第二次运行的时候得到这些值就得把它们保存到磁盘文件中,并在每次运行的时候读取或修改
辕易15048516094:
C语言中考察静态局部变量的值 -
33236邬琳
: 注意被调函数中,b动态变量(有效范围为b所在的函数,即被调函数) c静态变量(有效范围为整个函数,包括main和被调函数) 没调用一次被调函数,b的值重新赋新值0,而c保留上次的值,即一次为3,4,5 则整个程序运行过程中 各值变化如下:a b c 执行调用函数后 a b c 2 0 3 (b值每次赋值0)2 1 4 7 2 0 4 (保留上次的c值) 2 1 5 82 0 5 2 1 6 9
辕易15048516094:
c语言关于结构体中静态成员赋值 -
33236邬琳
: 错误:未解决的外部符号st::m. 类的静态成员必须在类外初始化一次.你应该记错了,是静态局部变量自动为0.
辕易15048516094:
C语言中多次调用函数时静态局部变量只赋值一次 -
33236邬琳
: 当编译器处理该代码时,遇到静态变量的初始化,就会在函数f外单独生成一条命令,给j赋值为0. 这些命令甚至会在main函数调用以前就执行.而在函数中,第一条语句实际上不是j=0,而是++j.这样,使得静态局部变量只初始化一次.
辕易15048516094:
c语言中static int i=1什么意思 -
33236邬琳
: 定义静态变量,并把1赋值给i static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值.这一点是它与堆栈变量和堆变量的区别. 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见.这一点是它与全局变量的区别.
辕易15048516094:
c语言,变量的赋值 -
33236邬琳
: 第一种情况是未定义变量b,c就是b,c赋值,所以编译失败.可以改成:int b,c;int a=b=c=3;
辕易15048516094:
c语言的静态变量的格式是什么? -
33236邬琳
: 声明格式是 static 类型 变量名=初始值; 如 static int a=2; 注意静态变量在整个程序运行过程中,只初始化1次.如果没有指定初始值,则该静态变量的初值是0(如果是字符串则是空串,仅包含结束标记).如 static int a; 执行后a的值是0(但注意,这条语句只能执行1次) 另外,由于静态变量存储的内存区域是在静态区,不在堆栈里面,因此所有的静态变量初始化之后,该段内存中的存储值(也就是静态变量的值)将不会被销毁,也就是说这个变量值会一直存在(不受作用域限制),直到整个程序结束
辕易15048516094:
c语言中static定义后的变量如果进行多次赋值,是否只执行第一?
33236邬琳
: 是的,Static是静态变量,定义时必须初始化,以后不能再赋值.也就是说以后的赋值都是不起作用的. 希望能帮助到你!