精华内容
下载资源
问答
  • 用指针的方法交换两
  • #include<cstdio> //用指针写swap()函数 ...//用指针指针的引用写swap()函数 void swap_2(int* &p1,int* &p2){ int* temp = p1; p1 = p2; p2 = temp; } int main(){ int a = 2020,b=2021; i
    #include<cstdio>
    
    
    //用指针写swap()函数
    void swap_1(int* p1,int* p2){
    	int temp = *p1;
    	*p1 = *p2;
    	*p2 = temp;
    } 
    
    //用指针和指针的引用写swap()函数
    void swap_2(int* &p1,int* &p2){
    	int* temp = p1;
    	p1 = p2;
    	p2 = temp;
    } 
    
    int main(){
    	int a = 2020,b=2021;
    	int *p1=&a,*p2=&b;
    	swap_1(p1,p2);
    	printf("a=%d,b=%d\n",a,b);
    	swap_2(p1,p2);
    	printf("a=%d,b=%d\n",*p1,*p2);//注意经过swap_2,变量a和b的值没变,只是p1现在是b的地址,p2是a的 
    	return 0;
    }
    

    在这里插入图片描述

    展开全文
  • C语言程序: # include <stdio.h> void huhuan_3(int *, int *); int main(void) { int a = 3; int b = 5; huhuan_3(&a, &b); //huhuan_2(*p, *q);... printf("a = %d, b ...

    C语言程序:

    # include <stdio.h>
    
    void huhuan_3(int *, int *);
    
    int main(void)
    {
    	int a = 3;
    	int b = 5;
    	
    	huhuan_3(&a, &b); //huhuan_2(*p, *q); 是错误的, huhuan_2(a, b);也是错误的
    	printf("a = %d, b = %d\n", a, b);
    
    	return 0;
    }
    

    运行结果:
    在这里插入图片描述
    注意:

    //不能完成互换功能
    void huhuan_1(int a, int b)
    {
    	int t;
    
    	t = a;
    	a = b;
    	b = t;
    
    	return;
    }
    
    //不能完成互换功能
    void huhuan_2(int * p, int * q)
    {
    	int * t;//如果要互换p和q的值,则t必须是int *,不能是int,否则会出错
    
    	t = p;
    	p = q;
    	q = t;
    }
    
    //可以完成互换功能
    void huhuan_3(int * p, int * q)
    {
    	int t; //如果要互换*p和*q的值, 则t必须定义成int,不能定义成int *, 否则语法出错
    
    	t = *p;  //p是int *,  *p是int
    	*p = *q;
    	*q = t;
    }
    
    展开全文
  • 使用指针交换两

    千次阅读 2020-05-04 20:21:19
    《程序设计基础实训指导教程-c语言》 ...【实训内容1】使用指针交换两 #include <stdio.h> int main() { int a,b,*p; int t; p=&t; scanf("%d %d",&a,&b); *p=a; a=...
    《程序设计基础实训指导教程-c语言》
    ISBN 978-7-03-032846-5
    p92
    5.1.2 上级实训内容
    

    【实训内容1】使用指针交换两个数

    #include <stdio.h>
    int main()
    {
        int a,b,*p;
    	int t;
    	p=&t;
        scanf("%d %d",&a,&b);
        *p=a;
        a=b;
        b=*p;
    	printf("%d %d",a,b);
    }
    

    在这里插入图片描述

    展开全文
  • 用指针交换两

    2019-10-24 20:20:02
    指针交换两 子函数的改变要想影响到父函数,必须传指针,必须解引用。(传指针,解引用) 错误1:首先想到不用指针,就和下面一样 void Swap_err1(int a,int b) { int tmp=a; b=a; b=tmp; } int main() { int a=10; ...

    指针交换两个数

    子函数的改变要想影响到父函数,必须传指针,必须解引用。(传指针,解引用)

    错误1:首先想到不用指针,就和下面一样

    void Swap_err1(int a,int b)
    {
    int tmp=a;
    b=a;
    b=tmp;
    }
    
    int main()
    {
    int a=10;
    int b=20;
    Swap_err1(a,b);
    printf("%d,%d\n",a,b)
    }
    
    

    在这里插入图片描述
    错误2:传指针,没解引用

    void Swap_err2(int *p1,int *p2)//传指针
    {
    int *tmp;
    tmp=p1;//没有解引用;
    p1=p2;
    p2=tmp;
    }
    

    在这里插入图片描述
    错误3:传野指针,解引用
    //野指针:没有访问权限的地址,运行直接崩溃
    (一种是地址真实存在,你不能访问.就好比女生宿舍,地址存在吧,但你男生就不能访问)
    (一种是地址不存在,例如门牌号为-50的地址,你去找吧)

    void Swap_err3(int *p1,int *p2)
    {
    int *tmp;//随机值,这类指针称为野指针,悬挂指针 //tmp没必要定义成指针类型
    tmp=*p1;//崩溃·
    *p1=*p2;
    *p2=tmp;
    }
    

    正确的:

    void Swap(int *p1,int *p2)//传指针
    {
    int tmp;
    tmp=*p1;//解引用
    *p1=*p2;
    *p2=tmp;
    }
    int main()
    {
    int a=10;
    int b=20;
    Swap(&a,&b);//里面是取地址
    printf("%d\n",a,b);
    }
    

    在这里插入图片描述

    展开全文
  • 一个函数指针交换两
  • 关于用指针交换两

    千次阅读 2018-12-14 12:08:30
    关于用指针交换两 西邮Linux 兴趣小组又到了纳新季,作为一个老学长,面试学弟学妹们的时候,必然要然他们感受到小组的关怀(受尽折磨),这一届孩子还是挺强的,但是一到指针上就栽了坑,在加上我们小组的陈年老...
  • #include <stdio.h> #include <stdlib.h> int a=4; int f(int n) { int t=0; static int a=5; if(n%2){int a=6;t+=a++;} else{int a=7;t+=a++;} return t+a++; } int main() ...
  • C语言 用指针实现数交换

    千次阅读 2019-10-19 12:38:57
    #include<stdio.h> void main() { int *p1 , *p2 , p; //这里的 “ ” 代表定义 int a,b; scanf("%d %d" , &a,&b); p1=&a; //a的地址给了p1 ... //进行地址的交换 p1=p2...
  • c语言指针交换指向 #include<iostream.h> #include<conio.h> void main() { clrscr(); int *a,*b,*temp; cout<<“Enter value of a and b:”; cin>>*a>>*b; temp=a; a=b...
  • c语言—指针交换两

    千次阅读 2019-03-27 20:24:26
    指针交换两 突然看到自己以前研究关于指针交换两的代码,当时自己还通过不断的printf来观察地址的变化,理解了之后发现不论几级指针,其核心是不变的。 一级指针交换 void swap(int *p, int *q) { int...
  • C语言使用指针交换两
  • 如何传址的方式交换两的大小 首先先看第一个程序,函数的调用来解决看似正确实则运行出来的结果是错误的 #define _CRT_SECURE_NO_WARNINGS 1 #include #include #include int JH(int x, int y); int main() ...
  • 关于C语言用指针交换两: #include <stdio.h> int swap_pointer(int *p1, int *p2); int main() { int x = 6, y = 12; printf("before x = %d, y...
  • 使用指针进行交换

    2014-06-10 16:45:51
    记录一下当初学指针时候看到的用指针交换。免得又忘了。原理是2次
  • (2)第二个函数交换失败,虽传递了指针,但未进行解引用,只是形参的指向进行交换相当于进交换了钥匙。 void Swap_err2(int *p1,int *p2) { int *tmp = p1; p1 = p2; p2 = tmp; } (3)第三个函数交换失败
  • c语言指针经典问题(交换两个数字)

    千次阅读 2018-04-11 08:46:37
    1.互换个数字: # include&lt;stdio.h&gt; void g(int * p,int * q) { int t; //如果要互换*p和*q的值,则t必须定义为int, t = * p; //不能定义为int*,否则会有语法错误. * p = * q; * q = t; } int ...
  • 今天在做C语言助教时,遇到了一个同学提出的问题:使用指针变量来交换2个指针的地址,然后将指针所指向的值赋给初始变量,为什么变量的值都为第二个变量。 她提供的代码如下: #include&lt;stdio.h&gt; ...
  • 使用外部函数交换两个变量的值,一个再简单不过的事情,但是在C/C++中,正确实现该功能反应了你对指针和引用等重要知识的掌握程度。本文列举了几种常见的写法,其中前三种是错误的,后种是正确的。第四种使用的是...
  • C 指针交换两

    2016-01-10 15:25:11
    C 指针
  • #include void swap(int *a,int *b){  int temp;...备注:就是在swap里面temp这个额外空间不能写成指针变量。。必须写成整形变量。   转载于:https://www.cnblogs.com/zhizhuniuniu/p/4177184.html
  • 用指针的方法交换两

    千次阅读 2013-12-10 17:05:13
    *All rights reserved. 作者:王至超 ...*问题描述:用指针的方法交换两 *样例输入:无 *样例输出:无 *问题分析:简单的方法,学会活学活 */ #include using namespace std; void jiaohua
  • #include <bits/stdc++.h> using namespace std; void swap(int *a, int *b) { int t = *a; *a = *b; *b = t; } int main() { int a = 1, b = 2; swap(a, b); cout << a <...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 207,601
精华内容 83,040
关键字:

用指针进行两数交换