利用指针方法

简介: 利用指针方法。

题目:输入3个数a,b,c,按大小顺序输出。
程序分析:利用指针方法。

include

void swap(int , int );
int main(void)
{
int a, b, c;
int p1, p2, p3;
printf("输入 a, b ,c:\n");
scanf("%d %d %d", &a, &b, &c);
p1 = &a;
p2 = &b;
p3 = &c;
if(a>b)
swap(p1, p2);
if(a>c)
swap(p1, p3);
if(b>c)
swap(p2, p3);
printf("%d %d %d\n", a, b, c);
}
void swap(int
s1, int s2)
{
int t;
t =
s1; s1 = s2; *s2 = t;
}
以上程序执行输出结果为:

输入 a, b ,c:
1 3 2
1 2 3

目录
相关文章
|
8月前
|
存储 Java C++
C++ 引用和指针:内存地址、创建方法及应用解析
C++中的引用是现有变量的别名,创建时需用`&`运算符,如`string &meal = food;`。指针存储变量的内存地址,使用`*`创建,如`string* ptr = &food;`。引用必须初始化且不可为空,而指针可初始化为空。引用在函数参数传递和提高效率时有用,指针适用于动态内存分配和复杂数据结构操作。选择使用取决于具体需求。
115 9
|
8月前
|
JavaScript 前端开发 开发者
改变this指针的三个方法?
改变this指针的三个方法?
45 0
|
存储 搜索推荐 Serverless
用指针和动态内存分配的方法输入10,2,30, 4,5,按输入顺序逆置排序,输出排序后的元素,即输出5,4,30,2,10
用指针和动态内存分配的方法输入10,2,30, 4,5,按输入顺序逆置排序,输出排序后的元素,即输出5,4,30,2,10
53 0
java.lang.NullPointerExceptionMybatisPlus出现,测试,java.lang.NullPointe,空指针异常,public方法少写了一个字段,没加注解
java.lang.NullPointerExceptionMybatisPlus出现,测试,java.lang.NullPointe,空指针异常,public方法少写了一个字段,没加注解
|
7月前
|
C++ 存储 Java
C++ 引用和指针:内存地址、创建方法及应用解析
'markdown'C++ 中的引用是现有变量的别名,用 `&` 创建。例如:`string &meal = food;`。指针通过 `&` 获取变量内存地址,用 `*` 创建。指针变量存储地址,如 `string *ptr = &food;`。引用不可为空且不可变,指针可为空且可变,适用于动态内存和复杂数据结构。两者在函数参数传递和效率提升方面各有优势。 ```
|
C语言
C语言之字符串的连接使用指针和调用函数两种方法
C语言之字符串的连接使用指针和调用函数两种方法
293 0
|
8月前
|
Java
Java String 避免空指针的方法
Java String 避免空指针的方法
60 0
|
8月前
|
编译器 C语言 C++
C++类和对象的细节原理:this指针、构造函数和析构函数、深浅拷贝、运算符重载、初始化列表、类的各种成员和方法
C++类和对象的细节原理:this指针、构造函数和析构函数、深浅拷贝、运算符重载、初始化列表、类的各种成员和方法
90 0
|
8月前
|
存储 安全 编译器
C++智能指针:更简单、更高效的内存管理方法
C++智能指针:更简单、更高效的内存管理方法
341 0
|
8月前
|
存储 C语言 索引
C语言数组与指针的关系,使用指针访问数组元素方法
如果您阅读过上一章节“C语言数组返回值”中的内容,那么您是否会产生一个疑问,C语言的函数要返回一个数组,为什么要将函数的返回值类型指定为指针的类型?换句话说,C语言中数组和指针到底是什么关系呢?我们可以通过C语言的寻址符“&”来返回数组变量存储在内存中地址和数组变量第一个元素存储在内存中的地址,
74 2