www.1862.net > C语言 函数调用 swAp函数 一定要用指针吗

C语言 函数调用 swAp函数 一定要用指针吗

主函数通过参数传递将信息传递给子函数,而子函数对于传递来的参数做拷贝处理,就是在另外的一块存储区将传递进来的内容保存下载。这样你排列的是子函数存储区内的数据,而不是你主函数申请的数据区的数据。上面两个函数应该的形式应该是void sw...

c语言中形参与实参的关系是:形参是实参的值副本。无论参数的类型是什么,传递到子函数中的形参只是实参的值。所以,在改变形参变量自身的值时,是与实参无关的。换句话说,形参的改变不会影响到实参。 但,如果参数类型是指针类型,则可以通过...

你的swap函数接受两个参数是int*类型参数,也就是int型指针 如果你传*pointer1,*pointer2就是传的int了,类型不匹配

#include void main() { void swap(int *m , int *n); int a, b; printf("Please input two integers a and b:"); scanf("%d%d",&a, &b); swap(&a,&b); printf("Now a and b have been converted\n"); printf("a=%d , b=%d\n", a, b); } void sw...

O(∩_∩)O哈哈~。在函数声明和定义时Fun(int p1,int p2)是不是表示它的参数是两个int型的整数。Fun(int* p1,int* p2)则使表示它的参数是两个指针类型的。定义和声明时的变量只是代替符,其它的运算符号与类型符号加起来才是参数类型。你如果觉得...

#include void swap(int *p,int *q) { int t; t=*p; *p=*q; *q=t; } main() { int a=5,b=4,*p,*q; p=&a; q=&b; swap(p,q); printf("a=%d b=%d",a,b); return 0; } ..

#includevoid swap(int* x, int* y){ int t = *x; *x = *y; *y = t; return;}int main(){ int a = 3, b = 4; swap(&a,&b); printf("%d %d\n", a, b); return 0;}

首先说swap(int a,intb)与main函数调用的sawp(a,b),首先讨论变量的作用域,也就是变量的生存周期,main函数中的swap(a,b)中的a与b的作用域是整个main函数,而swap(int a,intb)中的a,b是swap的函数参数,作用域是swap函数,而main函数调用swap函...

这与参数传递有关,swap(int x,int y),x,y是调用此函数时,两个变量的一份拷贝,只有*x这样定义,才是传递的地址。 知道计算机是怎样存储数据吧? 比如说:变量a的地址是12345, 12345中存储的数据是2,也就是说a=2; 如果 swap(int x,int y)这种...

函数参数用值传递时,函数的形参只不过是实参的拷贝而已。也就是说,1中调用swap函数时,内存中实际上a,b,x,y四个变量都存在,x是a的拷贝,y是b的拷贝,对x,y的值进行交换,a,b的值并未交换。 而2中用了指针传递,swap中的a,b,实际上是指向了ma...

网站地图

All rights reserved Powered by www.1862.net

copyright ©right 2010-2021。
www.1862.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com