关于指针指向的问题
#include<math.h>
int main()
{
int *p1,*p2,*p,a,b;
scanf("%d,%d",&a,&b);
p1=&a;
p2=&b;
if(a<b)
{
p=p1;p1=p2;p2=p;
}
printf("%d,%d",a,b);
printf("%d,%d",*p1,*p2);
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
void swap(int *p1,int *p2);
int a,b;
int *pointer_1,*pointer_2;
scanf("%d,%d",&a,&b);
pointer_1=&a;
pointer_2=&b;
if(a<b) swap(pointer_1,pointer_2);
printf("%d,%d",*pointer_1,*pointer_2);
return 0;
}
void swap(int *p1,int *p2)
{
int *p;
p=p1;
p1=p2;
p2=p;
}
为啥第一个可以实现从打到小的排列,然而第2个不行了?第2个只是多了个函数的调用而已。。。。。。。。表示困惑???
相关推荐
举例理解C语言二维数组的指针指向问题
主要介绍了C语言二维数组的指针指向问题,文中不建议用二级指针来访问二维数组,需要的朋友可以参考下
C语言程序设计(第2版)-2期 常见问题7-1 指针变量未确定指向就使用.pdf
C语言程序设计(第2版)-2期 常见问题7-1 指针变量未确定指向就使用.pdf 学习资料 复习资料 教学资源
C语言程序设计(第2版)-2期 常见问题7-2 修改指针变量指向的字符串常量.pdf
C语言程序设计(第2版)-2期 常见问题7-2 修改指针变量指向的字符串常量.pdf 学习资料 复习资料 教学资源
c代码-还是要单独写一个密码生成并输出的函数。 今天提到了一个笛卡尔积,其实就是乘积的有限次循环,但是单个的要怎么输出,先输出元素集合的单个元素,然后输出C*C,然后依次输出C*C*C,这就变成了递归调用。 还是指针赋值出了问题。 总是指针出问题,每一次都是因为指针出问题。 P=Lower; //这一步里面,其实只是把指针指向了Lower的地址,然后p只包含a,并没有包含abc P=&A[a];这一步也并没有让指针P变成a
c代码-还是要单独写一个密码生成并输出的函数。 今天提到了一个笛卡尔积,其实就是乘积的有限次循环,但是单个的要怎么输出,先输出元素集合的单个元素,然后输出C*C,然后依次输出C*C*C,这就变成了递归调用。 还是指针赋值出了问题。 总是指针出问题,每一次都是因为指针出问题。 P=Lower; //这一步里面,其实只是把指针指向了Lower的地址,然后p只包含a,并没有包含abc P=&A[a];这一步也并没有让指针P变成a
c++笔试题汇总 ①链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。 最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:
c++笔试题汇总 ①链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。 最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:



