交换两个整型变量的数值

#include<stdio.h>
#include<conio.h>
main()
{
void swap(int *p1,int *p2);//定义一个函数作用是交换两个整型变量的数值
int x,y;//定义整型变量x,y
int *a1,*a2;//定义整型指针a1,a2
printf("任意输入两个数值:");
scanf("%d,%d",&x,&y);//任意输入两个数值赋值到x,y中
a1=&x;
a2=&y;
swap(a1,a2);//交换 a1,a2
printf("%d,%d",*a1,*a2);
getch();
return 0;
}
void swap(int *p1,int *p2)//调用swap交换函数,交换两个变量的值
{
int p;
p=*p1;
*p1=*p2;
*p2=p;
}

我认为本题的重点是在于对*p及p的理解。  *p是指针,作用是存放变量的地址而p是地址所储存的内容。 关键是子函数调用时交换的应用,注意是变量值的交换不是指针指向问题。

输出结果  任意输入两个数值:1,2
         2,1

void swap(int *p1,int *p2)
{
int *p;
*p=*p1;//此语句有问题
*p1=*p2;
*p2=*p;
}

*p1就是x,是整型变量。而*p是指针变量p所指向的变量。但p中并无确定的地址值,它的值不可预见。*p所指向的单元也不可预见。

因此对*p赋值可能会破坏系统的正常工作状况。

void swap(int *p1,int *p2)
{
int *p;
p=p1;
p1=p2;
p2=p;
}

C语言中实参和形参之间的数据传递是单向的“值传递方式",指针变量作为函数参数也要遵循这个规则。调用函数不可能改变实参指针变量的值,但是可以改变实参指针变量所指变量的值。

 

#include<stdio.h>
int comp(int*x,int*y)
{if(*x>*y) return *x;elsereturn *y;
}
int main()
{int x,y,*p1,*p2;
scanf("%d,%d",&x,&y);
p1=&x;
p2=&y;
printf("max=%d\n",comp(p1,p2));
return 0;
}

1,2
max=2

 

--------------------------------
Process exited after 13.7 seconds with return value 0
请按任意键继续. . .

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/xBryant/p/6601576.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea spring tomcat启动失败_技术篇 | 实用IDEA插件和工具系列

前 言本章主要分享一些工作中常用的IDEA插件(Maven Helper、Lombok、Mybatis Log Plugin、RestfulToolkit、JRebel And XRebel)和实用工具arthas。01Maven Helper作用&#xff1a;能清晰的查看当项目的Maven依赖版本、依赖关系、依赖冲突等情况。使用步骤&#xff1a;①安装后,…

【数据集可视化】VOC数据集标注可视化+代码实现

二、VOC可视化数据集 1、作用 在做目标检测时&#xff0c;首先要检查标注数据。一方面是要了解标注的情况&#xff0c;另一方面是检查数据集的标注和格式是否正确&#xff0c;只有正确的情况下才能进行下一步的训练。 2、代码实现 import os # import sys import cv2 import…

串口UART串行总线协议

串口UART 串行端口是异步的&#xff08;不传输时钟相关数据&#xff09;&#xff0c;两个设备在使用串口通信时&#xff0c;必须先约定一个数据传输速率&#xff0c;并且这两个设备各自的时钟频率必须与这个速率保持相近&#xff0c;某一方的时钟频率相差很大都会导致数据传输…

基于Springboot外卖系统01:技术构成+功能模块介绍

外卖系统是专门为餐饮企业&#xff08;餐厅、饭店&#xff09;定制的一款软件产品&#xff0c;包括 系统管理后台 和 移动端应用 两部分。其中系统管理后台主要提供给餐饮企业内部员工使用&#xff0c;可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护。移动端应用主要…

HTML5本地图片裁剪并上传

最近做了一个项目&#xff0c;这个项目中需要实现的一个功能是&#xff1a;用户自定义头像&#xff08;用户在本地选择一张图片&#xff0c;在本地将图片裁剪成满足系统要求尺寸的大小&#xff09;。这个功能的需求是&#xff1a;头像最初剪切为一个正方形。如果选择的图片小于…

python成员运算符包括_Python 使用成员运算符案例

什么是操作符&#xff1f; 简单的回答可以使用表达式4 5等于9&#xff0c;在这里4和5被称为操作数&#xff0c;被称为操符。 Python语言支持操作者有以下几种类型。 算术运算符 比较(即关系)运算符 赋值运算符 逻辑运算符 位运算符 会员操作符 标识操作符 下面简单介绍一下&am…

嵌入式就应该这样学!!

嵌入式就应该这样学&#xff01;&#xff01; 1、Linux内核 Linux 内核定时器 Linux进程上下文和中断上下文内核空间和用户空间 Linux内核链表 Linux 内核模块编译 Linux内核使用Gdb调试 Linux动态打印kernel日志 Linux的中断可以嵌套吗 Linux内核定时器 Linux 驱动之Ioctl Lin…

基于Springboot外卖系统02:数据库搭建+Maven仓库搭建

1 数据库环境搭建 1.1 创建数据库 可以通过以下两种方式中的任意一种, 来创建项目的数据库: 1).图形界面 注意: 本项目数据库的字符串, 选择 utf8mb4 2).命令行 1.2 数据库表导入 项目的数据库创建好了之后, 可以直接将 资料/数据模型/db_reggie.sql 直接导入到数据库中, …

写给准备参加秋招的学弟学妹们~一定要来看哦~

一. 写在前面 这两天找工作不易&#xff0c;由衷感慨&#xff0c;很多书都没早看&#xff0c;所以希望学弟学妹们能多看点书&#xff0c;特别是我们qtech的ACMer们&#xff0c;我们这种acm弱校的ACMer走出来的&#xff0c;acm水平都不行&#xff0c;如果再像我当年那样&#x…

margin 负边距应用

margin-right:负值&#xff0c;在没有设置DOM元素宽度的前提下&#xff0c;DOM元素宽度变宽。 1 <!DOCTYPE html>2 <html lang"zh-CN">3 4 <head>5 <meta charset"UTF-8">6 <meta http-equiv"X-UA-Co…

python写xml文件_用python写xml文件

def writeInfoToXml(filename, config_id, obj_name): from xml.dom.minidom import Documenteg:Web ServersDenial of ServiceGeneral # 创建dom文档 doc Document() # 创建根节点 modify_node doc.createElement(modify_config) # 修改或添加节点中元素内容 modify_node.se…

基于Springboot外卖系统03:pom.xml导入依赖+数据库配置文件+Boot启动类+静态资源映射

1).在pom.xml中导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache…

写给过得很辛苦很迷茫的你~一定要看啊

#前面的话 我是一个农村的孩子&#xff0c;我家很穷&#xff0c;小时候过得非常苦&#xff0c;每次开学是我最害怕的时候&#xff0c;我害怕我爸妈拿不出学费&#xff0c;我害怕我爸妈会让我辍学在家帮忙干活&#xff0c;每次跟我妈吵架的时候&#xff0c;当我妈跟我说不让我读…

flatpickr功能强大的日期时间选择器插件

flatpickr日期时间选择器支持移动手机&#xff0c;提供多种内置的主题效果&#xff0c;并且提供对中文的支持。它的特点还有&#xff1a; 使用SVG作为界面的图标。 兼容jQuery。 支持对各种日期格式的解析。 轻量级&#xff0c;高性能&#xff0c;压缩后的版本仅6K大小。 对…

基于Springboot外卖系统04:后台系统用户登录+登出功能

登录业务流程 ① 在登录页面输入用户名和密码 ② 调用后台接口进行验证 ③ 通过验证之后&#xff0c;根据后台的响应状态跳转到项目主页 2. 登录业务的相关技术点 http 是无状态的通过 cookie 在客户端记录状态通过 session 在服务器端记录状态通过 token 方式维持状态如果前端…

python中sys模块有什么用_Python中模块之sys的功能介绍

argv 命令行参数 方法&#xff1a;sys.argv 返回值&#xff1a;list 例如&#xff1a;test1.py文件中有两句语句1.import sys 2.print(sys.argv) python test1.py 2 3 df >>> [test1.py,2,3,df] #该方法返回的列表中第一个元素为程序的路径,会把执行参数传入到列表中 …

排序算法时间复杂度、空间复杂度、稳定性比较

排序算法分类 排序算法比较表格填空 排序算法平均时间复杂度最坏时间复杂度空间复杂度是否稳定冒泡排序:————-::—–::—–::—–:选择排序:————-::—–::—–::—–:直接插入排序:————-::—–::—–::—–:归并排序:————-::—–::—–::—–:快速排序:———…

基于Springboot外卖系统05:用户非登陆状态的页面拦截器实现

1. 完善登录功能 1.1 问题分析 用户访问接口验证&#xff0c;如果用户没有登录&#xff0c;则不让他访问除登录外的任何接口。 1.前端登录&#xff0c;后端创建session&#xff0c;返给前端 2.前端访问其他接口&#xff0c;失效或不存在&#xff0c;则返回失效提示&#xff…

Sargable 与 谓语下推 (predicate pushdown) 简介

关键词&#xff1a;SQL优化 , sargable , pushdown filter , predicate pushdown Sargable Sargable Search ARGument ABLE &#xff0c;即SQL中可利用数据库自身索引优势对查询条件进行执行性能优化。换句话说&#xff0c;即可以利用存储层的索引优势来优化的查询条件。wikip…

python删除指定行_关于csv:删除python中的特定行和对应文件

我想删除90%的"转向"值等于0的行。这三个图像都有一个对应的图像文件&#xff0c;中间&#xff0c;左边和右边。我也要删除它们。csv文件如下&#xff1a;我编写了以下代码&#xff0c;以至少获取转向值为0的文件。我所需要的就是随机获取90%的文件并删除它们的代码。…