| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1086 人关注过本帖, 1 人收藏
标题:菜鸟级别的问题不会占用前辈们太多的时间,你随手一点,我受益非浅!
取消只看楼主 加入收藏
语文不及格
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2008-3-20
结帖率:100%
收藏(1)
 问题点数:0 回复次数:2 
菜鸟级别的问题不会占用前辈们太多的时间,你随手一点,我受益非浅!
(9)下列以下程序执行后的输出结果是 。

#include <stdio.h>
#include <math.h>
void func(int *a, int b[ ])
  {
   b[0]=*a+6;
  }
void main()
 {
  int a, b[5];
  a=0; b[0]=3;
  func(&a, b);
  printf("%d \n", b[0]);
 }
(A) 6   (B) 7   (C) 8   (D) 9    (E)3

问题 1:实际运行得的结果是6,不过我思考的结果是3。
      麻烦解释一下相关知识概念,原因结果。
        
        我是这样想的!C语言都是传值调用的,不能改变实参.
             虽然在func()里b[0]=6,可打印的应该是main里附的值的b[0]=3。
      6楼的哥们点醒了我一点,这么说b[0]效果相当于指针一样指向的是地址?
            我一直以为数组b[0]=3装入原素后的效果,相当于一个普通变量 f=3 一样!
      
      
            

   请原谅我不是没有好好看书,我知道书上一定有讲解,但是
  都是零零碎碎的东点西点,指针的只说指针,数组的只说数组,没有结合起来系统的讲解,
     我看得好像明白又好像不明白,搞得我一头雾水! 

[[it] 本帖最后由 语文不及格 于 2008-9-25 00:14 编辑 [/it]]
搜索更多相关主题的帖子: 前辈 级别 受益 时间 
2008-09-24 23:39
语文不及格
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2008-3-20
收藏
得分:0 
cjjc 还在吗,我已经改过帖子加上我的思考方法了!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2008-09-24 23:47
语文不及格
Rank: 1
等 级:新手上路
帖 子:30
专家分:2
注 册:2008-3-20
收藏
得分:0 
7楼!!!!!!!!1
谢谢你,完全懂了!!!!!!!!!!!
2008-09-25 00:26
快速回复:菜鸟级别的问题不会占用前辈们太多的时间,你随手一点,我受益非浅!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011731 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved