| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 561 人关注过本帖
标题:这个程序的结果?
只看楼主 加入收藏
abc594986308
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:116
注 册:2013-3-18
结帖率:82.93%
收藏
已结贴  问题点数:5 回复次数:9 
这个程序的结果?
程序代码:
 #include <stdio.h>
     void fun( char *p, int n )
     {  char  b[6]="abcde";   int i;
        for( i=0,p=b; i<n; i++ )  p[i]=b[i];
     }
     main()
     {  char  a[6]="ABCDE";
        fun(a, 5);    printf("%s\n",a);
     }输出ABCDE,求指教!
2014-04-03 13:15
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:1 
指教什么?输出ABCDE,你自己都说了呀

总有那身价贱的人给作业贴回复完整的代码
2014-04-03 13:23
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:1 
顶一下楼上,现在的孩子汉语差,连语言表达能力也差

     void fun( char *p, int n )
     {  char  b[6]="abcde";   int i;
        for( i=0,p=b; i<n; i++ )  p[i]=b[i];
     }
     main()
     {  char  a[6]="ABCDE";
        fun(a, 5);    printf("%s\n",a);
     }
既然在fun函数中不使用参数传进来的值,那你把a传进去干什么?

     void fun( char *p, int n )
     {  char  b[6]="abcde";   int i;
        for( i=0,p=b; i<n; i++ )  p[i]=b[i];
     }
既然p==b了,那p[i]=b[i]算是拖裤子放屁吗?
2014-04-03 13:35
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
收藏
得分:1 
回复 3楼 rjsp
前辈,我想问下P=b,不是赋值的意思吗。p==b才是p等于b吧?难道for语句里p=b是左右相等的意思?那个,我是刚学的..还有,这个[]是什么意思啊?是调用变量的意思?为什么要括起来啊?请指教

[ 本帖最后由 安宁1991 于 2014-4-3 16:19 编辑 ]

因为有你,所以做什么都有动力。z,爱你。
2014-04-03 16:14
grime_fire
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2014-4-3
收藏
得分:1 
加上这个fun函数是为了什么?当p=b时已经实现了整个循环语句的内容
2014-04-03 20:46
神机军师
Rank: 7Rank: 7Rank: 7
来 自:游鱼潜水
等 级:黑侠
威 望:2
帖 子:202
专家分:542
注 册:2013-12-21
收藏
得分:1 
回复 4楼 安宁1991
呃,关于等于和赋值,, == 就是关系运算符,= 就是赋值 在不在for()里面没有关系
至于[] 是数组的标志,呃,说不太清楚,在一维数组里面a[x] 等价于 *(a+x)a是数组首地址,x是下标,一般
来说是个int型,这里 +x 的意思是在a的地址基础上面加了 x 个a类型的长度(如int就是4,double就是8)
 二维数组有点麻烦,建议楼主好好看书啦  基础打牢一点~

未知令人期待!
2014-04-03 20:53
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
收藏
得分:0 
回复 6楼 神机军师
嘿嘿!对对..我还要去继续看书呢。这不刚开始学么,有很多简单的问题都不懂,因为我是一个人自学。还要多谢大哥指教!

因为有你,所以做什么都有动力。z,爱你。
2014-04-03 21:05
寒冷枫dl
Rank: 2
等 级:论坛游民
帖 子:23
专家分:18
注 册:2013-11-2
收藏
得分:1 
其实你在想比较函数单向传值和函数双向传值的问题,对不。双向传值时是传递的地址值,指针p中存的是 一个地址值。
2014-04-03 22:12
lonely_21
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:108
专家分:395
注 册:2011-11-13
收藏
得分:1 
程序代码:
#include <stdio.h>
     void fun( char *p, int n )
     {  char  b[6]="abcde";   int i;
        for( i=0,p=b; i<n; i++ )    p[i]=b[i];
     }
     main()
     {  char  a[6]="ABCDE";
        fun(a, 5);    printf("%s\n",a);
     }输出ABCDE,求指教!
//for循环的时候为什么要p=b呢,p=b的话就相当于是b数组自己给自己赋值了,去掉p=b就没问题啦
2014-04-04 11:31
lonely_21
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:108
专家分:395
注 册:2011-11-13
收藏
得分:0 
#include
     void fun( char *p, int n )
     {  char  b[6]="abcde";   int i;
        for( i=0,p=b; i

2014-04-04 11:33
快速回复:这个程序的结果?
数据加载中...
 
   



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

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