int sub(int x,int y,int *z)C语言问题

#include *&(*&
void sub(int x,int y,int*z)
{
*z=y-x;
}
main()
{
int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf("%4d,%4d,%4d\n",a,b,c);
}
这里为什么没有在函数sub中用return,a,bc的值就变了

int sub(int x,int y,int *z)
{
*z = x-y;
return *z;
}

 z是地址传参,所以要写成*z

z在传参的时候要写&



例子:

int x=5,y=3,z,res;

res=sub(x,y,&z);


语句过后,z值为2,res值为2


%%%%%%%%%%%%%%%%%%%%%%


刚才没有看到你的详细问题呢...


应该是这样:

函数返回值是void,所以可以不写return(可以理解成‘}’之前就return了)


函数是地址传参,所以会改变原有的z值

温馨提示:内容为网友见解,仅供参考
无其他回答

...且进栈过程中可以出栈,则不可能出栈的序列是( c )。 11 (A) 1,4...
int a=1,b=10; do { b-=a; a++; }while(b-->10);}22 (A) -1 (B) -2 (C) 8 (D) 9 8. 以下程序的输出结果是 ( 23 )。# define M(x,y,z) x*y+zmain(){ int a=1,b=2,c=3; printf("%d\\n",M(a+b,b+c,c+a));}23 (A) 12 (B) 15 (C) 17 (D) 19 9. 下...

用C语言编一个简单的计算器小程序
int sub(int x,int y) {return x-y;} int mul(int x,int y) {return x*y;} int div(int x,int y) {return x\/y;} int (*func[])()={add,sub,mul,div};int num,curch;char chtbl[]="+-*\/()=";char corch[]="+-*\/()=0123456789";int getach() { int i;wh...

c语言,这一题求详细解释
include <stdio.h>void sub( int*, int*);int main(){ int a[] = { 1, 2, 3, 4 }, i, x = 0; for( i=0; i<4; i++ ) { sub( a, &x ); printf( "%d", x ); } printf( "\\n" ); getchar(); return 0;}void sub( int *s, in...

c语言问题,会的帮帮忙(x1和x2为什么都是等于40)
void sub(int x,int y) \/\/相当于把第一个参数的值赋给全局变量x1 { x1=x;} 你的程序相当于:int x3=10,x4=20;x1=x3;x1=x2;printf(……);所以输出40,40,10,20 可将sub改为:void sub(int *x,int *y){ int temp;temp=*x;x=*y;y=temp;} 应用sub时参数加&,即sub(&x...

急急急 C语言 输入两个整数x,y,分别调用sum函数 求他们的和,调用sub...
int sub(int x, int y);void main(){ int x,y,sum,sub;scanf("%d,%d",&x,&y);sum = sum(int x,int y);printf("x+y = %d",sum);sub = sub(int x ,int y);printf("x-y = %d",sum);} int sum(int x,int y){ return (x+y);} int sub(int x, int y){ retur...

voidsub是什么
voidsub是一个计算机领域的函数。《c语言程序设计》中有这个void sub函数,而返函数计算完的值就要用指针函数或者函数指针。

C语言高手来看看,看程序写结果,告诉我步骤
void sub(int x,int y){ x1=x; \/\/把传进来的值赋值给全局变量x1;x=y;\/\/这一段和下面一段不用管,形参x跟y值的改变是不改变实参x3,跟x4的值的,只要注意全局变量x1跟x2即可。y=x1;} int main(){ int x3=10,x4=20;sub(x3,x4);\/\/sub(10,20),进入sub函数。sub(x2,x1);\/\/sub...

下半年计算机二级c语言基础试题
printf(“value=%d”,c); } Int abc(int u, int v) {int w; While(v) {w=u%v; u=v; v=w; } Return u; } 2、#include int x1=30,x2=40; main() {int x3=10,x4=20; sub(x3,x4); sub(x2,x1); printf(“%d,%d,%d,%d ”,x3,x4,x1,x2); } sub(int x,int y) {x1=x...

一个C语言问题,关于if...else..语句:
int sub(int n) \/\/定义这个sub()函数,它接收一个整形变量,{ if(n<5)return 0; \/\/\/如果传递的形参<5则返回0,main()输出一个0 else if(n>12)return 3; \/\/如果传递的形参>12则返回12,main()输出一个12 return 1; \/\/关键就是这一句代码了,若5<= n <=12,则返回1,ma...

全国2014年4月自考试题:计算机基础与程序设计
int subl(int x,int y,int z) { int t; t=xa[1]=treturn t; } main( ) { int k: k=sub 1(M*N,*(a+1),*(a+2)); printf("%d,%d\\n",k,*(a+1)); } 五、程序设计题 (本大题共2小题,每小题1 2分,共24分) 3 6.从键盘上输入1 6个整数,组成4行4列的数...

相似回答