有以下程序:
#include <stdio.h>
fun(int x, int y)
{static int m=0, i=2;
i+=m+1; m=i+x+y; return m;
}
main()
{int j=1, m=1, k;
k=fun(j,m); printf("%d,",k);
k=fun(j,m); printf("%d\n",k);
}
执行后的输出结果是( A )。
A) 5, 11
B) 5, 5
C) 11, 11
D) 11, 5
为什么??求高手解答
...#include <stdio.h> fun(int x, int y) { static int m=0, i=2...
fun函数中的局部变量m、i是静态局部变量(它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。),所以每次函数调用完后的,它们的至不会丢失。再次调用fun函数时,都是上次调用fun函数时修改后的值。第...
...#include <stdio.h> main() {int i,n=0; for(i=
i = 2时:进入dowhile循环,if(i%3)为真,跳出ifcontiue循环,不执行n++,接着判断while(!i)为假,跳出dowhile循环,执行循环外n++,此时i=2, n=1 接着执行for循环i++ i = 3时:进入dowhile循环,if(i%3)为假,执行ifcontinue语句,n++,此时i=3, n=2,判断while为假,跳出dowhile...
...#include <stdio.h> int fun(int x) { int y=1;
此处每个数字间要留2个空位 注意z的类型是static的,所以z的值是固定的!
...fun (int x,int y) { if (x!=y) return ((x+y);2); e
根据你给的信息,我发现你这个程序有好多问题,多的不好说,于是我据你的意思自己写了一下这个程序,如下:include<stdio.h> int main(){ int fun(int x,int y);int a=4,b=5,c=6;printf("%d\\n",fun(2*a,fun(b,c)));return 0;} int fun(int x,int y){ if(x!=y) return((...
c语言#include <stdio.h> void fun (int a[],int n){int i,t;for(i=...
觉得这个是传指针的吧, 就是传地址. int a[], 和int * a,一样吧.
#include<stdio.h> #include<math.h> main() { int i
题意是某项的值小于1e-5,而不是它们总和小于这个值,和是不会小于这个值的,所以循环不会停,不会输出
...#include <stdio.h> main() {int a=2,i; for(i=0;i<3;i++) print...
(注:当static在函数中修饰局部变量时,该变量为静态变量,不再存放在堆栈中,函数结束也不会销毁,每次进入该函数的时候变量值还是上次函数退出时候的值。静态变量只能初始化一次。)2.a的值是不变的。3.b的值每次加1.4.i=0,1,2,共三个值。每次取值时,都调用下面的函数。5.printf("%d",...
...#include <stdio.h> main( ) { FILE *fp; int i,k=0,n=0; fp=fo...
本题中首先定义了一个文件指针fp,然后通过函数fopen以“w”的方式打开文件“d1.dat”,直接通过一个for循环,每循环一次调用函数fprintf将i的值写进fp所指的文件中,该循环共循环3次,循环完后fp所指文件的内容为123。然后通过fclose函数关闭fp所指文件。接着通过fscanf函数将fp所指文件的内容读出并赋值...
以下程序的运行结果是( )。 #include<stdio.h> void fun(int x) 不是...
先执行main()函数,但是main()函数里面先调用了fun()函数,因为a=5,所以fun(5)会输出6,接着回到main()继续输出5,所以答案是先6后5。请采纳,谢谢
...#include <stdio.h> int fun(int x,int y){return (x+y);} main...
以下程序段的输出结果是 :8