本文共 465 字,大约阅读时间需要 1 分钟。
以下程序的输出结果是( )。
{ static inti=0;int s=1;s+=i; i++;return s;} main(){ int i,a=0;for(i=0;i<5;i++)a+=f();printf("%d\n",a);}
i = 0,s = 1,s += i后,s = 1,i++后,i = 1。返回后,a = 0 + s = 0 + 1 = 1
i = 1,s = 1,s += i后,s = 2,i++后,i = 2。返回后,a = 1 + s = 1 + 2 = 3 i = 2,s = 1,s += i后,s = 3,i++后,i = 3。返回后,a = 3 + s = 3 + 3 = 6 i = 3,s = 1,s += i后,s = 4,i++后,i = 4。返回后,a = 6 + s = 7 + 4 = 10 i = 4,s = 1,s += i后,s = 5,i++后,i = 5。返回后,a = 10 + s = 10 + 5 = 15 注意到,在函数f()中,i是静态变量,s是自动变量。转载地址:http://vvksi.baihongyu.com/