A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 54hxd52lj 中级黑马   /  2014-6-5 19:59  /  1121 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 54hxd52lj 于 2014-6-6 08:50 编辑
  1. void main( )
  2. {
  3.    void swap(int,int);
  4.    int a,b;
  5.    a=3;b=4;
  6.    swap(a,b);
  7.    printf("%d,%d\n",a,b);
  8. }
  9. void swap(int x,int y)
  10. {
  11.    int t;
  12.    t=x;x=y;y=t;
  13. }
复制代码

点评

能不能把问题说的详细点呢,只是找茬吗,你有什么疑惑呢,记得写上~  发表于 2014-6-5 22:27

评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

4 个回复

倒序浏览
本帖最后由 张家伟2014 于 2014-6-7 20:46 编辑

一、01行错误:main函数返回值为int,修正如下:
  1. int main()
复制代码
二、07行错误:printf函数未声明,printf函数声明在stdio.h中,修正如下:在01行前添加下列代码
  1. #include <stdio.h>
复制代码
三、语义错误:函数本意应该是交换变量a和b的值,但实际上只交换了变量x和y的值。因为基本数据类型作为函数实参时,只是将值传递给形参,所以形参的改变并不影响实参,修正如下:
  1. #include <stdio.h>

  2. int main()
  3. {
  4.     void swap(int*, int*);
  5.     int a,b;
  6.     a = 3;
  7.     b = 4;
  8.     swap(&a, &b);
  9.     printf("a = %d, b = %d\n",a,b);
  10. }
  11. void swap(int *x, int *y)
  12. {
  13.     int t;
  14.     t = *x;
  15.     *x = *y;
  16.     *y = t;
  17. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

回复 使用道具 举报 1 0
感谢分享~
回复 使用道具 举报
张家伟2014 发表于 2014-6-5 21:50
01行错误:main函数返回值修正:01行改写成 int main()
07行错误:printf函数未声明修正:01行前添加#incl ...

真是太感谢了,找茬达人。:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马