为什么输出结果是8,4 。详细解答 谢谢。即为什么x取了返回值 而y没有
还是不怎么明白x的值啊,什么main中的x啊?x是指针 但那又有什么规律的啊?
本回答被网友采纳...f(int y,int *x) { y=y+*x; *x=*x+y; } main() { int x=2,y=4...
X是地址传递,子函数会修改X的内容;而Y是按值传递,子函数不会修改Y的值。结果自然是X=8.Y=4.要是还不懂,翻书去。
void f( int y,int *x) {y=y+*x; *x=*x+y;} main( ) { int x=2,y=4...
在c语言中,被调函数不能直接修改主调函数中变量的值,而要让函数可以修改主调函数的变量,则被调函数需要将参数声明为指针类型,调用者需向被调用的函数传递变量的地址,所以,f()中x是声明为指针类型,调用的时候也是给x传递地址,所x能修改主函数中的值,而y传的是值,自然不能,这就是值传递...
void f(int y,int*x) {y=y+*x; *x=*x+y;} void main(
void f(int y, int *x) { y = y + *x;\/\/ 形参y,x和实参y,x存储地址不同,改变形参的值对实参没有影响。\/\/ y=y+x=6 x = *x + y;\/\/ *x的值就是主函数里实参x的值 \/\/ *x=2+4=6 } void main() { int x = 2, y = 4;f(y, &x);\/\/ f()函数中只改变了x的...
fun(int x,int y,int z){z=x*x+y*y;}main(){int a=31;fun(5,2,a);p...
也可以通过指针所指来修改地址值 也就是 void fun (int ,int int * )
...{x=x+y;y=x-y;x=x-y; printf("%d,%d,",x,y); } main() {int x=...
void fun(int x,int y)\/\/ 由于这里传入参数不是指针,引用,所以这里x,y只是main函数中x,y值的一个拷贝,所以修改后不会对main中x,y的值有影响。{x=x+y;y=x-y;x=x-y;printf("%d,%d,",x,y);} \/\/ 这里输出:3,2,main(){ int x=2,y=3;fun(x,y);\/ printf("%d,%d\\n"...
void Func(int *x,int *y) {*x^=*y; *y^=*x; *x^=*y; } 这个函数的功能...
两变量交换通常用中间变量,伪代码写作:swap(x, y){ x = t;x = y;y = t;} 我们可以通过三次异或运算完成变量的交换,而不使用中间变量,即:x = x xor y;y = y xor x;x = x xor y;xor运算满足交换律和结合律,上面的步骤可写为下面的等式 y' = y xor (x xor y) = y ...
在c++6.0中这两句话是什么意思y=y+*x; *x=*x+y
x是一个指针,可能是指向整型的也可能是指向浮点数的。y=y+*x; \/\/y的新值为原来的y加上x所指的数值,x=*x+y; \/\/x所指的数值更新为原来的数值加上y现在的值。
fun(int x,int y,int z){ z=x*x+y*y;}main( ){ int a=31;fun(5,2,a...
输出31 fun函数为值传递,不改变a的值
#include<stdio.h> int main() {int x,y; printf("请输入x的值...
你没分清字符和整数的区别
C语言中 void f(int *x,int *y)
int *x:x是一个指针变量,指向一个int型数据,x本身的值是该int型数据的地址。int x:x本身就是一个int型数据 还有 int *f(int *x,int *y) 表示返回的是int类型的指针。