| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 758 人关注过本帖
标题:这个程序的执行结果为什么是Ab?
只看楼主 加入收藏
yuhan0501
Rank: 1
等 级:新手上路
帖 子:12
专家分:1
注 册:2009-6-25
结帖率:50%
收藏
已结贴  问题点数:2 回复次数:7 
这个程序的执行结果为什么是Ab?
#include<stdio.h>
void fun(char *a, char *b)
{ a=b; (*a)++; }
main()
{ char c1='A',c2='a',*p1,*p2;
p1=&c1; p2=&c2; fun(p1,p2);
printf("%c%c\n",c1,c2);
}
搜索更多相关主题的帖子: 结果 
2010-01-25 15:28
h978147355
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:63
专家分:187
注 册:2009-12-29
收藏
得分:0 
你的那个函数是把指针p2的数值给p1
 然后p1所指向的数(这时既是c2)自加1
 所以结果就是Ab了
2010-01-25 16:35
nbaqqqq
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:202
专家分:137
注 册:2009-11-6
收藏
得分:0 
“a”的编码值是十进制数97,“b”的编码值是十进制数“98”...
2010-01-25 17:21
libomvp529
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2009-7-14
收藏
得分:0 
不会吧、感觉是cb呢。
2010-01-25 17:45
xinjinlong
Rank: 3Rank: 3
来 自:河南南阳
等 级:论坛游侠
帖 子:61
专家分:117
注 册:2010-1-19
收藏
得分:0 
支持2楼
2010-01-25 18:56
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
fun函数只对指针进行了操作,而对C1,C2的值并无改变.

★★★★★为人民服务★★★★★
2010-01-25 20:55
千叶林
Rank: 2
等 级:论坛游民
帖 子:26
专家分:18
注 册:2010-1-27
收藏
得分:0 
#include<stdio.h>
void fun(char *a, char *b)
{ a=b; (*a)++; } /*在这里 把B所指的地址给A,之后A自增1,A的这时所指的地址为98也就是'b'了*/
main()
{ char c1='A',c2='a',*p1,*p2;
p1=&c1; p2=&c2; fun(p1,p2);
printf("%c%c\n",c1,c2); /*所以C1为A,,,C2为b了*/
}
2010-01-27 10:49
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
FUN把a增加了1

但是对A没做过任何事   


 
所以当然Ab咯。。

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2010-01-27 12:59
快速回复:这个程序的执行结果为什么是Ab?
数据加载中...
 
   



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

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