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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sdzwb89 中级黑马   /  2015-5-19 10:04  /  1037 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 sdzwb89 于 2015-5-20 13:05 编辑

  1. #include <stdio.h>
  2. int test(char a)
  3. {
  4.   a=10;
  5. return 0;
  6. }
  7. int test1(char a)
  8. {
  9.     a = 10;
  10.    
  11.     return a;
  12. }
  13. int mian()
  14. {
  15.         char b =5 ;
  16.         test(b);
  17.         printf("b的值是%d \n",b);      // b的值是5
  18.         char c=test1(b);
  19.         printf("c的值是%d\n",c)                // c的值是10
  20.         c=test(b);
  21.         printf("c的值是%d\n",c)                // c的值是0
  22.         return 0;
  23. }
复制代码


这样应该是对的吧?

9 个回复

倒序浏览
结果肯定是5啊,运行一下不什么都有了么
回复 使用道具 举报
结果是5.为什么不自己先运行一下看看结果呢
回复 使用道具 举报
没看懂为什么是5呢?我怎么也觉得是对的
回复 使用道具 举报
hehelaicaicai 发表于 2015-5-19 11:02
没看懂为什么是5呢?我怎么也觉得是对的

当使用基本数据类型(char、int、float等)作为实参时,实参和形参之间只是值传递,修改形参的值并不影响到实参
回复 使用道具 举报
楼主的答案应该是对的吧...二楼和三楼是在说什么,没看懂
回复 使用道具 举报
sdzwb89 发表于 2015-5-19 11:43
当使用基本数据类型(char、int、float等)作为实参时,实参和形参之间只是值传递,修改形参的值并不影响 ...

还是不懂,你这么说顶多是b=5,后面那两个c的值有问题吗?一个是10  一个是0
回复 使用道具 举报
我只能说你最起码有一个低级错误,那就是main函数名写错了
回复 使用道具 举报
main函数写错了,其它的我再看看
回复 使用道具 举报
return 0的话你确定程序不会结束么?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马