|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于一个函数功能的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1258
人关注过本帖
标题:
关于一个函数功能的问题
只看楼主
加入收藏
g79134682
等 级:
论坛游民
帖 子:80
专家分:75
注 册:2011-7-29
第
11
楼
收藏
得分:0
各位大侠好。我是个菜鸟。。我就是想问个问题。。。("%d,%%d这个是啥意思?好多地方都出现这个百分号。。到底是啥呢。。
2011-08-04 22:06
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
12
楼
收藏
得分:0
回复 11楼 g79134682
很有水平的问题,不过我忽悠着回答你吧,反正你自称菜鸟:那个百分号的意思,就是要在这个位置用一个整数数字替换了它,比如printf("abcdef%d\n",i)这个调用,printf()函数会将后面变量i的值(比如i=12)替换了%d这两个字符,变成"abcdef12\n"这样的字符串,输出到屏幕上。
授人以渔,不授人以鱼。
2011-08-04 22:12
举报帖子
使用道具
赠送鲜花
voidx
来 自:邯郸
等 级:
火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
第
13
楼
收藏
得分:0
嗯~题目改过了~
2011-08-04 22:51
举报帖子
使用道具
赠送鲜花
韩54521风
等 级:
业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
第
14
楼
收藏
得分:0
回复 8楼 loveshuang
指针的拷贝副本是什么东西啊?百度也没弄明白啥意思,好想很深奥的样子啊!情赐教
2011-08-05 13:27
举报帖子
使用道具
赠送鲜花
icysky
来 自:心灵世界
等 级:
职业侠客
威 望:
1
帖 子:172
专家分:399
注 册:2011-5-17
第
15
楼
收藏
得分:10
指针作为参数
函数参数传递是值传递,头指针作为参数时,实际上是生成了一个指针的副本,
函数中是对副本进行操作,没有改变原指针的值,所以指针仍保持进入函数前的值。
不管怎么走、总有一个终点...
2011-08-05 16:18
举报帖子
使用道具
赠送鲜花
icysky
来 自:心灵世界
等 级:
职业侠客
威 望:
1
帖 子:172
专家分:399
注 册:2011-5-17
第
16
楼
收藏
得分:10
指针做参数只能改变指针指向的内容
不能改变指针的地址
楼主比较下 下面两个
你的代码
程序代码:
void
fun(
int
*a,
int
*b) {
int
*c; c=a;a=b;b=c; }
第2个代码
程序代码:
void
fun(
int
*a,
int
*b) {
int
c; c=*a;*a=*b;*b=c; }
还有 你中间怎么用%%d
是不是多打了个%号
[
本帖最后由 icysky 于 2011-8-5 16:31 编辑
]
不管怎么走、总有一个终点...
2011-08-05 16:23
举报帖子
使用道具
赠送鲜花
韩54521风
等 级:
业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
第
17
楼
收藏
得分:0
回复 16楼 icysky
这两个程序区别倒是很明显,这一块的知识是什么啊,我怎么找不到呢,到现在还是没有搞懂,希望可以告诉我这两个程序运行的区别
2011-08-05 21:00
举报帖子
使用道具
赠送鲜花
linxing_spp
等 级:
论坛游民
帖 子:5
专家分:14
注 册:2011-8-5
第
18
楼
收藏
得分:10
楼上分析的很对,不过有一点大家可能还不明白,为什么明明已经在fun()函数中做了交换,但是输出结果还是B选项。解释一下:有这样的输出是因为传进去的实参放在栈上,相当于p和q 都有了一个幅本,此时对幅本做交换是不会改本main函数中的p和q的值的。至少什么时候会改变到*a 和* b所指向的值,那可以写成
void fun(int *a,int *b)
{ int c;
c=*a;*a=*b;*b=*c;
}
这样就可以改变main()中的x,y 的值了。
这个问题如果还不明白,你就多看看传值和传址的问题,还有栈和函数。会有帮助的。
2011-08-05 21:45
举报帖子
使用道具
赠送鲜花
韩54521风
等 级:
业余侠客
帖 子:75
专家分:212
注 册:2011-6-11
第
19
楼
收藏
得分:0
回复 18楼 linxing_spp
经典,谢谢
2011-08-06 08:32
举报帖子
使用道具
赠送鲜花
风生钧起
来 自:江西
等 级:
业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
第
20
楼
收藏
得分:0
x,y的地址已经在栈某个地方分配好
在mian()不可以再对其进行地址操作 我目前学的唯一方法是用指针对其操作
fun(,&x,&y)分别被指针变量a,b;所指
即*a = x,*b = y; 这样 就可以对x, y;操作了
a, b是int *类型 则*a,*b;是int 类型
题目互换的 是*a,*b;的值 所以int *c 改成 int c;
墨一世红颜倾醉己 霁天谁与话风流
修仙``````````````````````````````````````````````
2011-08-06 09:04
举报帖子
使用道具
赠送鲜花
33
2/4页
1
2
3
4
快速回复:
关于一个函数功能的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.014093 second(s), 7 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved