#include <stdio.h>
int f (int a)
{ auto int b=0 ;
static int c=1 ;
b++ ;
c+=3 ;
return(a+b+c) ;
}
void main( )
{ int a=5 , I ;
for(I=0 ; I<3 ; I++)
printf("%4d", f(a)) ;
}
最后输出是什么?请解释原因。
auto声明后,每次调用这个函数都会将这个b重定义为0;
而进行stable声明后,c将不会被改变,所以值是不同的;
第一次循环:
a=5(这个是固定的);
b=0+1=1(自增运算符);
c=1+3=4;
返回一个值并输出a+b+c=10;
第二次循环:
a=5;
b=0+1=2(在这里重置);
c=4+3=7(而它并没有);
a+b+c=13;
第三次循环也是一样的,b重置,c加3,而a为定值5,所以三次输出相差3,就是c的三次加3,和b无关。
纯手打,求采纳,有问题,继续问
C语言简单习题:auto int b=0 。。。
auto声明后,每次调用这个函数都会将这个b重定义为0;而进行stable声明后,c将不会被改变,所以值是不同的;第一次循环:a=5(这个是固定的);b=0+1=1(自增运算符);c=1+3=4;返回一个值并输出a+b+c=10;第二次循环:a=5;b=0+1=2(在这里重置);c=4+3=7(而它并没有);a+b+c=...
c语言中 函数调用结束后,函数内定义的静态变量所占用的空间被释放 这句...
int f(int a){ auto int b=0;\/\/自动局部变量 static c =3;\/\/静态局部变量 b=b+1;c=c+1;return(a+b+c);} 输出为 7(2+1+4) 8(2+1+5) 9(2+1+6)
auto在c语言是什么意思
auto在C语言中是一种存储类别说明符,用于指定变量的存储位置和作用域。在函数内部声明的变量默认情况下使用auto存储类别,这意味着变量在函数退出时会被自动销毁。使用auto关键字也可以显式地声明变量为自动变量,提高代码可读性。同时,自动变量的定义与初始化通常会更加简洁明了。auto与static的区别 auto...
c语言中auto int型的数字,只给其中几个赋值,剩下的数字系统会给他们赋...
会,如果是数组的话,会自动把其他的初始化为零。
C语言题目,求大神解析!
auto int b=1;static int c=2; \/\/此变量前一次调用后的值,可以保留到下一次调用时继续使用 b+=1;c*=2;return(a+b+c);\/\/第一次返回2+2+4=8(c变为4)\/\/第二次返回2+2+8=12(c变为8)\/\/第三次返回2+2+16=20(c变为16)} int main(){ int a=2,i;for(i=0;i<3...
C语言中auto定义变量有哪些用法
语言中包括了关键字auto,它可用于定义局部变量。但自从所有的非全局变量的缺省值假定为auto以来,auto就几乎很少使用了。 在C或者以前的C++中,auto关键字基本上可以被无视:比如这个局部变量:int a = 100;auto int a = 100;并没有什么区别。 但是在VC2010中,auto已经有了新的含义,它可以对...
C语言习题:高级语言程序设计:下列叙述中错误的是___。
选C。线性表采用顺序存储,插入和删除操作很可能引起一些元素需要“移动”。所以C的说法是错的。
C语言习题 以下定义语句中正确的是() A. int a=b=0 ; B. char A=65+...
int a=b=0 ;不能对未定义的b赋值 char A=65+1; b='b';中间是分号,所以b未定义 float a=1 ,*b=&a, *c=&b;b和c未定义
c语言中静态变量是怎么用的
c语言中静态变量作常量使用,用于存储常数。可用const,constant或final等关键字标识,其值就会在编译时设定,并且无法在运行时改变。编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区;而如若有需要,有些编译器还可选择为其开辟专用区。对于静态全局变量来说,针对某...
C语言丨一文带你了解auto关键字(又名隐形刺客)
C语言中的"隐形刺客"auto关键字,看似低调却发挥着关键作用。它用于声明变量的生命期为自动,即在函数内外的差异:函数外的变量视为全局,函数内的则为局部。在函数内部,如 int fun() { int a = 10; \/\/ auto int a = 10; \/\/ 函数作用域内变量 return 0; } 变量a的生命周期仅限于fun函数...