扩展资料:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
int a,b;
void swap()
{
int t;//我们创建一个临时变量用来交换变量的值
//先假设a = 1,b = 2
t = a;//此时t = 1,a = 1,b = 2
a = b;//此时t = 1,a = 2,b = 2
b = t;//此时t = 1,a = 2,b = 1
//完成了交换
}
int main(){
scanf("%d%d",&a,&b);
swap();
printf("a = %d , b = %d\n",a,b);
return 0;
}
这是最基础的交换代码,创建一个临时变量来交换
事实上,还有一种交换方法:
#include<stdio.h>int a,b;
void swap()
{
//假设 a = 1,b = 2
a = a + b;//此时 a = 3,b = 2
b = a - b;//此时 a = 3,b = 1
a = a - b;//此时 a = 2,b = 1
//交换完成
}
int main(){
scanf("%d%d",&a,&b);
swap();
printf("a = %d , b = %d\n",a,b);
return 0;
}
先给a赋值成a+b
之后把b变成"a"-b也就是a+b-b=a
最后把a变成"a"-"b"也就是a+b-a=b
实现了交换
以上就是如何交换变量的方法
若我的回答对你有帮助,请采纳,若有问题可以追问我
老规矩,先给代码
#include<stdio.h>
int main(){ int a,b,t; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); t=a; a=b; b=t; printf("a=%d,b=%d\n",a,b);}这道题关键是利用第三者作为介质进行数据交换
本回答被网友采纳介绍两种常用的值互换方法
// 方法1 使用临时变量的方法void swap(int *a, int *b){
int t = *a; // 将a指向的值存入 t
*a = *b; // 将b指向的值存入 a
*b = t; // 将a原本的值存入 b
}
// 方法2 不使用临时变量的方法
void swap(int *a, int *b){
*a = *a ^ *b ; // 将二者的异或值存入a指向的值
*b = *a ^ *b ; // b = a^b^b 即 b = a
*a = *a ^ *b ; // a = a^b^a 即 a = b
}
关于异或操作请移步:https://zhidao.baidu.com/question/77719406.html?fr=iks&word=%D2%EC%BB%F2%B2%D9%D7%F7&ie=gbk
对于追求致简的同学来说,方法2可以利用括号来用一行代码实现:
// 致简(抽风)式写法void swap(int *a, int *b){
*a ^= (*b = (*a ^= *b) ^ *b);
}
对于以上三种写法完整的程序格式如下:
#include<stdio.h>void swap(int *a, int *b);
int main(void){
int a = -2, b = 3; // 可以更改不同的值来测试程序是否有问题
printf("a=%d b=%d\n", a, b);
swap(&a, &b);
printf("a=%d b=%d\n", a, b);
return 0;
}
void swap(int *a, int *b){
// 此处填上上述三种写法其一
}本回答被网友采纳
void main(void)
{
int a,b,c;
printf("please input a= b=\n");
scanf("%d%d",&a,&b);
c=a;
a=b;
b=c;
printf("a=%d,b=%d\n",a,b);
return;
}本回答被网友采纳
c语言 将变量A和B的值进行互换 的程序
b = temp;}void swap2(int& a, int& b) \/\/只用加法、减法、乘法也可以交换两个值 { a = a + b;b = a - b;a = a - b;}void swap3(int& a, int& b) \/\/使用位运算也可以交换两个值 { a = a^b;b = a^b;a = a^b;}void main1mianshiti7(){ int a1 = 1...
c语言 将变量A和B的值进行互换 的程序
int main(){ int a,b,t; scanf("%d%d",&a,&b); printf("a=%d,b=%d\\n",a,b); t=a; a=b; b=t; printf("a=%d,b=%d\\n",a,b);} 这道题关键是利用第三者作为介质进行数据交换
如何用c语言实现a和b互换呢?
5、首先,a和b的地址传给x和y,通过指针直接对a和b的值进行操作。6、最后,就是调换*x和*y的值,这样就是实现了a和b的值。
...a,b均是整型变量,写出将a,b两个变量中的值互换的程序来
不行吧,传值好像不行的,传引用吧 void fun(int &a,int &b){ int c;c=a;a=b;b=c;} 这样应该就可以了。尝试一下吧
c语言改错:交换变量a,b的值,麻烦大家了
1. main()2. { int a,b;3. scanf("%d%d", &a,&b);4. swap(&a,&b); \/\/此处修改 5. printf("a=%d,b=%d" ,a,b);6. swap(int *p,int *q)7. { int m;8. m=*p;9. *p=*q;10. *q=m;11. } 你的swap函数2参数, a b是地址格式 调用函数时候 参数...
C语言编辑a和b数值互换,codeblocks完整代码是啥
include<stdio.h>void(){ int a=5,b=3; a = a^b; b = a^b; a = a^b; printf("a = %d,b = %d\\n",a,b);}
C语言中 交换变量ab的值 怎么交换 看看这个式子对不对a=a+b ;b=a...
这是一个两数之和与两数之差结果的交换程序:main(){ int a=3;int b=5;int temp;a=a+b;\/\/两数之和 b=a-b;\/\/两数之差 printf("before:a=%d b=%d\\n",a,b);\/\/交换前 temp=a;a=b;b=temp;\/\/交换过程 printf("after:a=%d b=%d",a,b); \/\/交换后 } ...
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,...
有两个变量a=5,b=7请用C语言的方式让a与b的值互换
a=a+b这个得到的是a和b的和;也就是这一步运行之后当前的a的值就是a,b之和。b=a-b,既然a是他们两个的和,那么a-b得出的肯定是最初的a的值;这一步运行之后,b的只就是原始a的值;a=a-b,既然b是原始a的值,a是原始a和原始b的和,那么差值肯定就是原始b的值。
C语言中swap的作用和用法
1.作用:swap的意思是交换两个变量的值,是一个自定义函数。2.用法:使a和b的值进行互换。例如:void swap(int*p1,int*p2) \/\/*p1=a;*p2=b;改变指针指向的地址的值,即a和b的值互换。3.其他用法 swap1只进行了值传递,所以函数调用结束后形参被释放,不能实现实参的值交换;swap2直接使...