C_program assignment 2
/*
Name: C program assignment 2
Copyright:
Author: ShiroKa_X
Date: 22/03/17 14:07
Description:
*/
#include<stdio.h>
int swap(int *p, int *q)
{
int t;
t = *p;
*p = *q;
*q = t;
}
int main()
{
int a, b;
printf("please input two number of int :");
scanf("%d %d",&a,&b);
printf("%d %d\n", a, b);
int *p, *q;
p = &a;
q = &b;
swap(p, q);
printf("%d %d\n", *p, *q);
}

Ⅱ、void swap(int *p,int *q){int *m;*m=*p;*p=*q;*q=*m;}为何无法实现交换?
答:*q是整型变量,而*m式指针变量m所指向的变量。但m中并无确定的值(它的值是不可预见的),因此m所指向的单元也是不可预见的。
所以,对*m赋值有可能给一个存储着重要数据的存储单元赋值,这样就会破坏系统的正常工作状况。应该将*p的值赋给一个整型变量,用
整型变量m作为临时辅助变量实现*p和*q的交换。
Ⅲ、void swap(int *p,int *q){int *m;m=p;p=q;q=m;}为何无法实现交换?
函数swap内部只进行了p与q所指向的变量的地址进行了交换,并未对q、p指向的变量的值进行交换,所以输出的变量的值不变。
Ⅳ、构建comp函数,实现两个整数比较,比较大的值通过返回值返回给main。要求comp的参数和返回值都是指针类型数据。
#include<stdio.h>
int* comp(int *p, int *q)
{
return (*p > *q ? p : q);
}
int main()
{
int a, b,t;
printf("please input two number:\n");
scanf("%d %d", &a, &b);
int *p, *q;
p = &a;
q = &b;
t = *comp(p, q);
printf("the max=%d\n", t);
}

总结:
1 对本章指针运用还不够熟练,许多知识点都是处于知道但不会运用的阶段。
2 缺乏实践,打代码速度还不够快。
3 对于,使用指针作为函数参数及返回指针型数据不够熟练,定义指针、运用指针的能力还有待提高。
C_program assignment 2的更多相关文章
- Atitit GRASP(General Responsibility Assignment Software Patterns),中文名称为“通用职责分配软件模式”
Atitit GRASP(General Responsibility Assignment Software Patterns),中文名称为"通用职责分配软件模式" 1. GRA ...
- user initialization list vs constructor assignment
[本文连接] http://www.cnblogs.com/hellogiser/p/user_initialization_list.html [分析] 初始化列表和构造函数内的赋值语句有何区别? ...
- Swift 提示:Initialization of variable was never used consider replacing with assignment to _ or removing it
Swift 提示:Initialization of variable was never used consider replacing with assignment to _ or removi ...
- 代写assignment
集英服务社,强于形,慧于心 集英服务社,是一家致力于优质学业设计的服务机构,为大家提供优质原创的学业解决方案.多年来,为海内外学子提供了多份原创优质的学业设计解决方案. 集英服务社,代写essay/a ...
- [Top-Down Approach] Assignment 1: WebServer [Python]
Today I complete Socket Programming Assignment 1 Web Server Here is the code: #!/usr/bin/python2.7 # ...
- default constructor,copy constructor,copy assignment
C++ Code 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...
- Programming Assignment 5: Kd-Trees
用2d-tree数据结构实现在2维矩形区域内的高效的range search 和 nearest neighbor search.2d-tree有许多的应用,在天体分类.计算机动画.神经网络加速.数据 ...
- Programming Assignment 4: 8 Puzzle
The Problem. 求解8数码问题.用最少的移动次数能使8数码还原. Best-first search.使用A*算法来解决,我们定义一个Seach Node,它是当前搜索局面的一种状态,记录了 ...
- Programming Assignment 2: Randomized Queues and Deques
实现一个泛型的双端队列和随机化队列,用数组和链表的方式实现基本数据结构,主要介绍了泛型和迭代器. Dequeue. 实现一个双端队列,它是栈和队列的升级版,支持首尾两端的插入和删除.Deque的API ...
随机推荐
- selenium span[contains]中使用变量
province = '湖南' driver.find_element_by_xpath('//span[contains(text(),"'+province+'").click ...
- [c/c++] programming之路(31)、位运算(二)
一.取反的高级用法 #include<stdio.h> #include<stdlib.h> //取反的作用:末位清零 取反适用于各种位数不同的数据 void main0(){ ...
- Intellij IDEA 远程链接hive,执行hsql
https://note.youdao.com/share/?id=75d82d9c5fab1e00de41c504a54dfcde&type=note#/
- SQL 删除数据 的所有用法
https://blog.51cto.com/13588598/2066335 1.使用 delete 语句删除表中的数据:语法:delete from <表名> [where <删 ...
- Unity3D制作红色射线
1.在发射射线的位置创建一个空物体用于存储发射点的位置信息. 2.制作射线,为发射射线物体添加LineRenderer组件 制作Material材质并把其类型改为Particles/Addictiv ...
- 【NOIP2015普及组】推销员_详解
题目 题目大意 阿明是一名推销员--螺丝街是一条直线,一端有入口,一共有 \(N(<100,000)\) 家住户,第 \(i\) 家住户到入口的距离为 \(S_i\) 米.由于同一栋房子里可以有 ...
- mybatis第一次搭建出错
### Error building SqlSession. ### The error may exist in com/test/pojo/UserMapper.xml ### Cause: or ...
- Vue小项目二手书商城:(四)详情页和购物车(emit、prop、computed)
实现效果: 点击对应商品,对应的商品详情页出现,详情页里面还有“Add to cart”按钮和“×”退出按钮. 点击“Add to cart”可以将商品加入购物车,每件商品只能添加一次,如果把购物车的 ...
- 实现一个类似 http-server 的静态服务 一一 ks-server
最近没事,学习了一下 node,觉得 http-server 这个静态服务很神奇,突发奇想,自己也来实现这么一个静态服务试试.我暂且起名为 static-server. 1. 初始化项目: cd my ...
- RESTful Level
REST(表述性状态转移)是最近几年讨论的最为热烈的话题之一,其起源于Roy.T.Fielding博士的论文<软件架构风格和基于网路的软件架构设计>.Roy博士在他的论文里从架构风格角度阐 ...