编写C程序,实现交换两个变量值的操作 。/*
编写c语言程序C语言swap函数,实现交换两个变量值的操作 。
要求:使用形参为指针的函数swap完成交换功能 。
主函数中C语言swap函数,使用整型指针从键盘输入两个整数,通过调用swap完成交换
输出交换前后的变量值进行比较 。
输入输出示例:
Input
two
number:3
4
Before
change:a=3,b=4
After
change:a=4,b=3
*/
//File:
swap.c
#include
stdio.h
#include
stdlib.h
void
swap(int
*a,
int
*b)
{
int
tmp;
tmp=*a;
*a=*b;
*b=tmp;
}
int
main()
{
int
*a=NULL,*b=NULL;
a=(int
*)calloc(1,sizeof(int));
if(!a)
{
perror("calloc
a
err.");
}
b=(int
*)calloc(1,sizeof(int));
if(!b)
{
perror("calloc
b
err.");
}
printf("Input
two
number:");
scanf("%d
%d",a,b);
printf("Before
change:a=%d,b=%d\n",*a,*b);
swap(a,b);
printf("After
change:a=%d,b=%d\n",*a,*b);
return
0;
}
C:\myprogcc
-g
-Wall
swap.c
-o
swap
C:\myproswap
Input
two
number:3
4
Before
change:a=3,b=4
After
change:a=4,b=3
C:\mypro
程序已调好,直接运行即可 。
C语言中如何交换两个变量的值?c语言中用函数交换两个变量的值方法是先将变量赋值给中间变量,然后中间变量再赋值给另外一个变量,程序如下:
#include "Stdio.h"
#include "Conio.h"
void swap(int x,int y)
{
int t,m;
t=x;//变量x赋值给中间变量t
m=y;//变量y赋值给中间变量m
x=m;//中间变量m赋值给变量x , 将y的值赋值给了x 。
y=t;//中间变量t赋值给变量y , 将x的值赋值给了y 。
}
main()
{
int a,b;
a=1,b=2;
swap(a,b); //调用交换函数
printf("%d,%d",a,b);
getch();
}
扩展资料:
C语言的语法结构:
1、顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行 。
例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子里面的水,这当然要用到第三个杯子 , 假如第三个杯子是c , 那么正确的程序为:c = a; a = b; b = c;执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b =c;则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误 。
顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算、输出三步曲的程序就是顺序结构 。
2、选择结构
对于要先做判断再选择的问题就要使用选择结构 。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序 。选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程 , 根据不同的程序流程选择适当的选择语句 。
选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序 , 这样做把程序设计分析与语言分开,使得问题简单化,易于理解 。程序流程图是根据解题分析所绘制的程序执行流程图 。
3、循环结构
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do while循环和for循环 。
四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误 。
参考资料来源:百度百科-C语言
c语言 函数调用 swap函数 一定要用指针吗不一定 。
void
swap(int
a,int
b)
{
int
t;
t=a;
a=b;
b=t;
}
这样写,只是传了一份拷贝给a,b,交换好后,栈清空,没有传回给你原来所要交换的数 。而printf放里面可以是因为你的那份拷贝(即a,b)的值是跟你要交换的数一样的 , 所以行得通 。
不用指针的方法就是:
void
swap(int
a,int
b)
{
int
t;
t=a;
a=b;
b=t;
}
这样就可以了 , 这个传进去的是原先数据的地址 , 地址都改变了,值也就交换了 。
扩展资料:
关于指针与swap函数
1、用变量的指针交换,其实只是用指针名及指针运算符*访问变量
, 修改了变量的值 。
int
temp;
int
*pa=a;
int
*pb=b;
temp=*pa;
*pa=*pb;*pb=temp;
2、用变量的引用交换,用”别名“访问变量
int
temp;
int
aa=a;
int
bb=b;
temp=aa;
aa=bb;bb=temp;
3、变量直接交换,用变量名访问变量 , 修改了变量的值
int
temp;
int
a=5;
int
b=6;
temp=a;
a=b;
b=temp;
4、2的变形
int*
temp;
int*
pa=a;
int*
pb=b;
temp=pa;
pa=pb;pb=temp;
cout*paendls
//-----指针交换了指向的地址,如果用*pa访问变量 , 此时就算是交换了,但是a和b没有交换 。
c语言中的swap是什么意思交换; 交换物 , 被掉换者的意思
C语言中常常被用作C函数名 来表示该函数功能.
在c使用swap函数需要怎么样的头文件使用swap函数需要#includeiostream头文件 。
示例:
#includeiostream
//usingnamespacestd;
intmain(intargc,char*argv[])
{
inta=5;
intb=8;
std::swap(a,b);
std::couta""bstd::endl;
return0;
}
扩展资料
C头文件algorith的使用
#includeiostream
#includealgorithm
usingnamespacestd;
boolcmp(constinta,constintb)
{
returnab;
}
intmain()
{
intdata[5];
for(inti=0;i5;i)
cindata[i];
sort(data,data 5,cmp);
return0;
}
求一个C语言程序题:编写一个函数SWAP()实现交换两个数位置的功能#include stdio.h
void swap(int *p, int *q);//用传地址的方法交换
void main()
{
int i, j;
scanf("%d%d", i, j);//从键盘输入两个交换的数
swap(i, j);//传入i,j的地址
printf("i = %d, j = %d\n", i, j);//输出交换后的两个值
}
void swap(int *p, int *q)
{
int temp;//定义临时变量 存放中间值
temp = *p;
*p = *q;
*q = temp;
}
注意:不能直接写void swap(int i, int j);
因为那只是临时变量,函数调用完后 , 便释放空间,两个值并没有交换 。
【C语言swap函数 c语言swap函数可以直接用吗】关于C语言swap函数和c语言swap函数可以直接用吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 茶人关注的公众号,茶人茶话图片
- 微信公众号怎么发别人视频,微信公众号怎么发别人视频作品
- 休闲水晶游戏能提现吗,休闲水晶游戏能提现吗安全吗
- 音乐排行榜素材html5,音乐网页素材
- java代码怎么实现 java代码怎么实现运行时暂停几秒
- 如何提升新媒体宣传的影响力,新媒体如何提升自己
- 虚拟机救砖,虚拟机坏了
- php数据库制作教程 php和数据库制作网站的例子
- css烧录出现出现0x3FFFC0,烧录failed