#include <stdio.h>
func(int a,int b)
{
int temp=a;
a=b;b=temp;
}
main()
{
int x,y;
x=10;y=20;
func(x,y);
printf("%d,%d\n",x,y);
}
最后结果是10,20
分析是:这里是传值调用,不会改变实参的值,所以输出为10,20.注意:传值调用时,只将实参的副本传给形参,在函数中只对副本进行修改,不会影响实参的值。
本人对c语言还是很生疏,希望帮忙指点一下哪里传值了,哪个是实参,哪个是形参,副本是什么,请详细说明。谢啦~~~
#include<stdio.h> void fun(int*a,int*b) {int*c; c=a;a=b;b=c;}...
所以p和q仍然分别指向x和y。再回到fun函数中,可以看出,a和b的值(x和y的地址)是交换了,也即是说a原本指向x,现在指向了y,对应的b改为指向x。但这只能说a和b间有变化。会影响到x和y吗?也不会。所以fun函数其实对x,y,p,q没有产生任何的影响,当然结果就应该是3,5,3,5了。希望你...
#include <stdio.h> int func(int x,int *p); void main( ) { int...
func作用是将传入的第二个参数改为x+2+1=x+3,并返回2x+2+2=2x+4,所以 int a=1,b=2,c;c=func(a,&b); \/\/这句执行后b=a+3=4 c=2*a+4=6 b=func(c,&b);\/\/同上,b=2*6+4=16 a=func(b,&c);\/\/ c=16+3=19 a=2*16+4=36 即abc分别为36 16 19 ...
以下程序的输出结果是___。 #include 〈stdio.h〉 main...
A.8,17
#include <stdio.h> int exchange( int a, int b ) { int temp; temp...
函数的参数改一改就可以了。include <stdio.h> void exchange( int *a, int *b ){ int temp;temp = *a;a = *b;b = temp;return;} int main(){ int x, y, z;printf( "please input three integers:\\n" );scanf( "%d%d%d", &x, &y, &z );if( x > y )exchange( &x,...
以下程序运行的结果是 。 #include<stdio.h> #include
include<stdio.h>#include<string.h>\/\/=== 函数部分=== fun(char *w, int n){ char t,*s1,*s2; \/\/定义字符t,字符指针s1,s2 s1=w; s2=w+n-1; \/\/将上面的指针p赋予指针s1,s2是在s1右移7-1=6 实际*s2='7' while(s1<s2) \/\/当s1指向的地址,少于s2指向的地址时【...
以下程序的输出结果是___. #include <stdio.h> main() {int a=2,i...
1.这里static c=3,局部修饰c,所以c的值是不变的。(注:当static在函数中修饰局部变量时,该变量为静态变量,不再存放在堆栈中,函数结束也不会销毁,每次进入该函数的时候变量值还是上次函数退出时候的值。静态变量只能初始化一次。)2.a的值是不变的。3.b的值每次加1.4.i=0,1,2,共三个...
#include<stdio.h> void func(int b) { int a; a=b;b=10;} void main...
局部变量作用域的问题!当调用func(b);时,main里面的b会把值复制到func里面的b,两个b是不同的!在func中有又定义了一个a,当func运行完后,func的a和b生存期和作用域就结束了!main里的a和b还是原样,func的运行没有影响到main里的a和b!
#include<stdio.h> func(int a,int b){static int m=0,i=2;i+=m+1...
include<stdio.h> func(int a,int b){ static int m=0,i=2; i+=m+1; m=i+a+b; return(m);}main(){ int k=4,m=1,p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\\n",p)}打印的是两次调用func的返回值。主函数中k,m值不...
...#include<stdio.h> 编译预处理指令 int main() 定义主函数_百度知 ...
解析:sort函数 返回值空 struct Student结构体类型 应该已经在这段程序前定义好了 函数参数是一个结构体类型数组 局部变量 temp 用来交换 j选择两种方案 i k循环计数 clrscr()清屏 输入提示 读取方案种类 第一种方案 按照stu属性num冒泡升序排序 第二种方案 按照stu属性aver冒泡升序排序 冒泡排序是...
以下程序的输出结果是___。 #include <stdio.h> main() {int k=4,m...
第一次func(a,b)函数时,传递过来的两个值是4,1 即在func(a,b)函数中a=4,b=1 static int m=0,i=2,定义了两个静态变量,即一直战用内存,函数调用结束不释放,结果依然是上一次改变后的结果。执行 i+=m+1 →即 i=2+0+1=3;执行 m=i+a+b; → m=3+4+1=8;执行...