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 ...
随机推荐
- chocolatey使用
chocolatey使用 安装 使用管理员权限打开CMD,输入: @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ( ...
- 泛型集合List的详细用法
命名空间: System.Collections.Generic List<T>类是 ArrayList 类的泛型等效类. 该类使用大小可 按需动态增加 的数组实现 IList& ...
- sshpass安装使用
部署sshpass1.下载wget http://sourceforge.net/projects/sshpass/files/latest/download -O sshpass.tar.gz 2. ...
- Django回顾
Django简介 Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义we ...
- Android系统应用Mms之Sms短信发送流程(Mms应用部分)二
1. 新建一条短信, 在发送短信之前, 首先创建的是一个会话Conversation, 以后所有与该接收人(一个或多个接收人)的消息交互, 都在该会话Conversation中. ComposeMes ...
- Maven的基本概念
一.Maven的基本概念' Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1.1 ...
- 20165306 Exp6 信息搜集与漏洞扫描
Exp6 信息搜集与漏洞扫描 一.实践内容概述 1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应用 搜索网址目录结构 搜索特定类型的文件 搜索E-Ma ...
- 七牛云图片的存储与处理--基于node
1. 手动上传 . 快速入门,这个简单,可以参考七牛官方文档: https://developer.qiniu.com/kodo/manual/1233/console-quickstart#step ...
- python cookbook 小结
最近一直在看python cookbook.这本书主要讲的是python 语言的一些编程素材.正如它的名字一样,烹饪书.就好像再讲如何处理食材(各种类型的数据),然后再煮菜(算法).打个比方,煮菜随便 ...
- JQurey 添加和删除元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> ...