这个说深了,就是进程加载进内存之后,不同的变量处在不同的内存空间的问题.说简单点也可以.
你希望交换 a,b两个变量的值,但是你把a,b的值赋值给了x,y,而你交换了x,y的值,那么你想想a和b你又没有动它,他俩的值怎么会变呢?
因为exchange是按值传递的,e ,f ,g传的是值的一份拷贝,虽然fun确实修改了拷贝的值,但是还是没有修改main函数中的值,,,如果要有用可以改成:
#includestdio.h
int fun(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
return 0;
}
int exchange(int *a,int *b,int *c)
if(*a*c)
fun(a,c);
if(*b*c)
fun(b,c);
if(*a*b)
fun(a,b);
void main()
int e,f,g;
scanf("%d%d%d",e,f,g);
exchange(e,f,g);
printf("output:\n");
printf("e= %d\tf= %d\tg= %d\n",e,f,g);
C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言.
c语言里没有这个函数area,但是可以自定义函数.
函数定义:
使用:
返回值类型 函数名(类型 变量名,类型 变量名,...)
函数体;
return (数据);
例如:
int sum(int a, int b)
return a + b;
扩展资料
注意:
①.、c语言一般根据函数的功能来取函数名,全部使用小写单词,多个单词之间用下划线分隔,如:add_to_arr.
孩子,学了素数判断算法了吧?
你分别写两个程序,填空.一个是
main()
{int n,i,j;
printf("输入一个数");
scanf("%d",n);
/*补充程序代码,输出n以内的所有素数*/
第二个结构是
int prime(int n)
/*判断n是不是素数,是返回1,否返回0*/
if(prime(i))
/*补充程序代码,输出i*/
函数的用途是封装,把一个独立的功能封装到一个独立的函数中以供调用
你应该深有体会,一段代码,只实现独立的单一的功能,写起来跟玩似的.但是,一旦需要讲几个功能糅合到一起实现,就各种别扭各种错误百出.
函数的用途,就是让你心无旁贷一心一意的实现这个独立的单一的功能
因为你的 swap 函数中没有返回值,swap 函数修改代码如下:
int?swap(?int?a,?int?b)
int?temp;
temp?=?a;
a?=?b;
b?=?temp;
return?a,b;
以上就是土嘎嘎小编为大家整理的c语言没用的函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!