搜索
首页 电脑/网络 程序设计

一个c语言的程序不知道哪里错了,谢谢大家帮忙看一下

#include "stdio.h" void main() {int a=3, b=4; printf("a=%d,b=%d\n",a,b); change(a,b); printf("a=%d,b=%d\n",a,b);} void change(int x,int y) {int t; printf("x=%d,y=%d\n",x,y); t=x;x=y;y=t; printf("x=%d,y=%d\n",x,y);}

全部回答

2007-08-17

0 0
    编译的时候,main函数里用到change函数但是找不到change函数的定义,所以出错。 把main函数和change函数的位置换一下就可以了。 #include "stdio。
  h" void change(int x,int y) {int t; printf("x=%d,y=%d\n",x,y); t=x;x=y;y=t; printf("x=%d,y=%d\n",x,y);} void main() {int a=3, b=4; printf("a=%d,b=%d\n",a,b); change(a,b); printf("a=%d,b=%d\n",a,b);} 或者,在main()的上面或main函数里调用change之前加上change函数的函数声明也可以。
     #include "stdio。h" void change(int x,int y); // change函数的函数声明 void main() {int a=3, b=4; printf("a=%d,b=%d\n",a,b); change(a,b); printf("a=%d,b=%d\n",a,b);} void change(int x,int y) {int t; printf("x=%d,y=%d\n",x,y); t=x;x=y;y=t; printf("x=%d,y=%d\n",x,y);} 或 #include "stdio。
    h" void main() {int a=3, b=4; printf("a=%d,b=%d\n",a,b); void change(int x,int y); // change函数的函数声明 change(a,b); printf("a=%d,b=%d\n",a,b);} void change(int x,int y) {int t; printf("x=%d,y=%d\n",x,y); t=x;x=y;y=t; printf("x=%d,y=%d\n",x,y);} 。
    。

2007-08-18

37 0
3楼 wzfree5188 正解

2007-08-15

69 0
    在这段程序里。 change函数实际上是没有意义的调用。 经过change(a,b); 调用后, a和b的值没有任何变化, 因为change函数的参数int x和int y是值传递,而没有做成指针传递。
   所以,在change函数中对x和y的修改并不会影响到a和b的值的变化。   当然,#include "stdio。h" 也是不对的。
    应该改成 #include 正确的代码是: #include void main() { int a=3, b=4; printf("a=%d,b=%d\n",a,b); change( &a, &b ); printf("a=%d,b=%d\n",a,b); } void change(int *x,int *y) { int t; printf("x=%d,y=%d\n", *x, *y ); t = *x; *x = *y; *y = t; printf("x=%d,y=%d\n", *x, *y ); } 。

2007-08-15

33 0
#include "stdio.h" 改成 #include

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
程序设计
硬件
电脑装机
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
程序设计
VB
数据库
C/C++
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
举报
举报原因(必选):
取消确定举报