A. c语言交换两个数的值,函数声明问题。
编译器没报错但是有提示
warningC4047:'function':'int''int*'
只要不影响运行,编译器都不会报错
另外即是声明有错结果依然是对的
#include<stdio.h>
voidswap(int,int);
intmain()
{
intnumber1=3;
intnumber2=4;
swap(&number1,&number2);
printf("number1=%d ",number1);
printf("number2=%d ",number2);
}
voidswap(int*p1,int*p2)
{
inttemp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
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,将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();
}
(2)c语言交换两个数函数扩展阅读:
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语言怎么用自定义函数将两个数交换
要用函数实现两个数的交换,则函数参数必须定义为指针形式,否则函数中对数值的修改将不会影响主调函数,这是C语言的规则。
所以,以整型为例,自定义函数书写如下:
void
swap_int(int*a,int*b)
{
int
t;
t
=
*a;
*a=*b;
*b=t;
}
D. C语言交换2个数的值
不要临时变量的写法#include <stdio.h>int main()
{
int a ,b;
printf("请输入a 和 b 的值:\n");
scanf("%d%d",&a,&b) ;
printf(" a 的值为%d\n",a);
printf(" b 的值为%d\n",b);
a = a + b ;
b = a + b ;
a = b - a ;
b = b -2*a ;
printf("交换后:");
printf("a 的值为%d\n",a);
printf("b 的值为%d\n",b);}
E. C语言用函数如何实现两个数交换
#include"stdio.h"int swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;}
main(){int x,y;printf("请输入x与y的值,用空格隔开 ");scanf("%d%d",&x,&y);printf("x=%d,y=%d ",x,y);swap(&x,&y);printf("交换后 x=%d,y=%d ",x,y);}
(5)c语言交换两个数函数扩展阅读:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
F. c语言交换两个数的函数
好像没有return(x,y)这种写法吧,这样写应该可以
void swap(int *x,int *y)
{
int c;
c=*x;
*x=*y;
*y=c;
}
G. C语言 交换两个数
c语言默认是返回i整形值,但最好不要省略返回值类型,可读性不好,并在以后使用时会引发错误.
还有你的swip函数中交换值是没有作用的,因为c中除了数组名外,其它所有类型的参数都是传引用,即把当前变量的值的一份拷贝传给函数,而不是真正直接改变被拷贝变量的值.拷贝的意思是,假如你声明变量x = 5 y =7,则你在调用函数swip(x,y)的时候 x , y 是在内存中临时创建的另外两个局部变量,只不过他们的名字被定义为x , y 他们和前面定义的 x , y 有相同的值 。但是区别是swip
中的 x,y会在执行完swip函数自动消失,他们的值也跟着消失。结果相当于你的函数根本没有使用在main方法中声明的x , y(这x里不好画图,也许不太明确。)所以即使你的swip函数是正确的,你的main函数的输出结果也是不会交换值 的。要想用swip函数完成换值,需将main中声明的
x , y 的地址传给swip,同时swip中的形参类型也要变成swip(int *x , int *y)(int a ; a = *x , *y = *x , *x = a)如果你看不懂的话先去看一下指针的内容,弄清函数的穿值 调用和传引用调用。建议你去看一看<<c和指针>>的函数一章,希望能帮到你 。 还有,交换两个值还有其它的方法,不妨去搜一下。
H. C语言中定义一个函数交换两个数的值
#include <stdio.h>
void Swap1(int* a, int* b)
{
int c = *a;
*a = *b;
*b = c;
}
main()
{
int a, b;
scanf("%d,%d", &a, &b);
printf(" a=%d,b=%d", a, b);
Swap1(&a, &b);
printf(" a=%d,b=%d", a, b);
}
I. 怎样用函数调用交换两个数的值 c语言
#include
<stdio.h>
void
change(int
*a,int
*b){
int
m;
//定义一个临时变量
m
=
*a;
//把a指向的值放到m中
*a
=
*b;
//把b指向的值放到a指向的内存中
*b
=
m;
//把m中的值放到b指向的空间中,函数调用结束时m的生成周期也完了,就释放掉了
}
int
main(){
int
i
=
1;
int
j
=
2;
change(&i
,&j);
//函数调用
printf("%d,%d\n",i,j);
return
0;
}
J. C语言 :通过函数交换两个变量的值
#include<stdio.h>
voidf(int*a,int*b){intc;c=*a;*a=*b;*b=c;}
voidmain(){inta,b;
a=1;b=2;f(&a,&b);printf("%d%d ",a,b);
}