mshd.net
当前位置:首页 >> 以下程序的输出结果是( ) mAin() { int i,j,m=0; F... >>

以下程序的输出结果是( ) mAin() { int i,j,m=0; F...

当i为1时在j循环中只有j为1时才跳过自加所以在j循环中x加了2,在整个i中x变为4,因为两次i循环所以为8

程序是不是这样; #include int f(int b[ ],int m, int n){ int i,s=0; for(i=m;i

9,所以C正确,选C——s=f(a)==n+=a++==3+1==4。s=s+f(a)==4+n+a++==4+3+2==9。为什么a第一次是1第二次是2?因为a是static变量,它的值不随函数退出而消失,而要保留到下一次被访问。毕。

你没分!这简单!数组指针a作为实参转给函数f!函数f的功能是把二维数组两个下标相同的元素相加当下表为3时就执行i=3-j=0 s实际上等于b[0][0]+b[1][1]+b[2][2]+b[0][3]=16

需要注意的是:“/”,对两个整型数据做除法运算,得到的永远是整数(结果相当于取整) 这里20/3=6,等式相当于:i=l=f=d=6,右边赋值给左边,i,l都是整型,所以还是6,f,d都是浮点数,所以是6.0

f(1)=1 f(2)=f(1)+1=2 i=1 j+=f(1)=1 j=1 i=2 j+=f(1)+1=2 j=3 循环结束。

return s就是返回函数计算的结果,使得printf("%d\n",f(a));能输出一个值。 return是从那个自定义函数的编写中讲的。

结果是31,因为你的程序里面case 后面都没有break语句跳出,所以会依次执行下去,知道循环结束,具体来说就是当i=1的时候先执行case1,在执行case2,在执行default 此时a=8;然后执行i++,i=2,然后执行case2,在执行default 此时a先加3在加5就等...

运行结果为 7 8 9 为什么会是这个结果,主要是: c为静态变量,静态变量的特点是函数前一次被调用产生的结果被保留下来,在下一次被调用时仍然有效。 b为自动变量,函数的每次被调用,都是重新分配内存。 所以: 第一次调用f(a)返回的是 7 (2+1...

int f() { static int i=0; //定义静态局部变量,只被初始化一次,保存在常量区直到程序结束才销毁。 且只在函数内有效 所以从第一次调用f()之后每次调用f() ,i都是上次函数退出的值 nt s=1; s+=i; //s=s+i; i++; return s; } main() { int i,a...

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com