作业帮 > 综合 > 作业

C语言:以下程序执行后,变量x和变量y的值分别为 ()

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/03 16:57:38
C语言:以下程序执行后,变量x和变量y的值分别为 ()
void main()
{
int x,i; static int y;
for(i=1; i
C语言:以下程序执行后,变量x和变量y的值分别为 ()
在函数体外定义的static y,会被初始化为0,
x+=2/i-1; y+=2*i-1;
意味着x=x+2/i-1; y=y+2*i-1;
当循环第一次执行时,x没有赋初值,则变量空间中存储的内容是不确定的.
虽然大多数系统会默认赋初值为0,但并不规范也容易出莫名其妙的错误.
再问: for里面i不是等于1么?
再答: i的值并不能用来确定x=x+2/i-1中的第2个x的值,即x的初始值。
再问: 那y的值为什么等于49呢?
再答: static的作用有一个是默认初始化为0。其实全局变量也具备这一属性,因为全局变量也存储在静态数据区。在静态数据区,内存中所有的字节默认值都是0x00,某些时候这一特点可以减少程序员的工作量。