A. c语言用指针法交换两个数的顺序问题
解答:
1. 注意形式参数和实际参数的区别,主函数中的x,y是实际参数,swap函数中的a,b是形式参数。他们各有自己的存储空间,互不干扰。
2. 在程序适当位置加上输出地址的语句,即可看出为什么回到主程序后,x,y的值为什么不交换。
B. C语言,一个小问题,t=a; a=b; b=t;这个是a和b的交换,请问交换是后是什么作用呢
交换后a和b的值就对调了,假设交换前a=10,b=5,由于满足a>b的条件进行a和b的交换,首先将t=a; //t=10,a=10,b=5
a=b; //t=10,a=5,b=5
b=t; //t=10,a=5,b=10
所以交换后a=5,b=10,即交换了a和b的值
整个程序实现的功能就是将输入的a,b,c按照从小到大的顺序排序后依次存放在a,b,c中,即程序保证a<b<c
C. c语言 将变量A和B的值进行互换 的程序
代码如下:#include<stdio.h>
#include <stdlib.h>
void swap1(int& a,int& b)//使用中间变量交换两个值
{
int temp = a;
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, b1 = 2;
int a2 = 10, b2 = 15;
int a3 = 78, b3 = 90;
int a = 2147483647, b = 1;
printf("a1=%p,b1=%p", &a1, &b1);
swap1(a1, b1);
swap2(a2, b2);
swap3(a3, b3);
printf("swap after~~~~~~~~~~~~~
");
printf("a1=%d,b1=%d
", a1, b1);
printf("a2=%d,b2=%d
", a2, b2);
printf("a3=%d,b3=%d
", a3, b3);
swap2(a, b);
printf("a=%d,b=%d
", a, b);
system("pause");
}
源代码截图:
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等。
D. 怎样用C语言交换a,b,c三个数
a与b换:
a=a^b;(按位运算)
b=a^b;
a=a^b;
b与c换
b=b^c;
c=b^c;
b=b^c;
这是最方便的了。
E. c语言中 A值与B值是如何转换的
不借助其它临时变量而交换A和B的变量值:
A+=B;
B=A-B;
A-=B;
F. 如何用c语言求输入两个整数a和b,交换他们的位置,然后输出
# include <stdio.h>
int main(void)
{
int a,b,c;
printf("请输入整数a:\n");
scanf("%d",&a);
printf("请输入整数b:\n");
scanf("%d",&b);
printf("你输入的数是a:%d\tb:%d\n",a,b);
c=a;
a=b;
b=c;
printf("它们交换位置后是a:%d/tb:%d\n",a,b);
retrun 0;
}
G. c语言中三个整型数a b c怎么进行值的互换
二个变量值的交换一般需借助于一个辅助变量来完成的。
int
a=3,b=4,t;
通过以下的三个语句就能把a,b的值互换(这种操作有点像把二个瓶里的液体交换时,要借助于一个空瓶):
t=a;
a=b;
b=t;
不太清楚什么是“a
b
c值的互换”。如果是要把a=1,b=2,c=3“轮换”为a=2,b=3,c=1的话,
那就用下面的语句实现:
t=a;
a=b;
b=c;
c=t;
如果是要把任意大小顺序的三个变量,通过交换变为从小到大排列,可以采用以下的程序段:
int
a,b,c,t;
scanf("%d
%d
%d",&a,&b,&c);
if(a>b){t=a;
a=b;
b=t;}
if(a>c){t=a;
a=c;
c=t;}
if(b>c){t=b;
b=c;
c=t;}
printf("从小到大的排列是:%d
%d
%d\n",a,b,c);
H. c语言中交换a、b两个数的一种算法
第一次找出不同的地方,并将不同之处用1标记并赋给a,然后用b和不同进行对比,反过来得到a的值,a的值发生改变,b变成a的原值,后一步同理。把两个数写成二进制的形式“异”一下就知道了。