以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 C/C++编程思想 』 (http://bbs.xml.org.cn/list.asp?boardid=61) ---- [求助]C语言 (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=28216) |
-- 作者:lihongbin018 -- 发布时间:3/6/2006 8:40:00 PM -- [求助]C语言 再问一个题 以下程序的输出结果是 #include<stdio.h> void prt(int *x,int *y,int *z) { printf("%d,%d,%d\n",++*x,++*y,*(z++)); } main() { int a=10,b=40,c=20; prt(&a,&b,&c); prt(&a,&b,&c); } a) 11,42,31 b) 11,41,20 c) 11,21,40 d) 11,41,21
|
-- 作者:elfstone -- 发布时间:3/6/2006 9:59:00 PM -- 输出结果为b 11,41,20 12,42,20 像这样的程序,自己运行一下就行了。。。 |
-- 作者:NEW人 -- 发布时间:3/16/2006 4:21:00 PM -- 把程序简化一下,应该很清楚了,x,y,z一开始分别指向a,b,c,*(z++);只是把函数prt中的一个局部指针从指向c,移动到了指向a,并没有改变c的值,而++*x->++(*x),是对x指向的值作了累加,所以,a的值会累加 void prt(int *x,int *y,int *z) { *(z++); }
|
-- 作者:Rahxephone -- 发布时间:3/31/2006 11:33:00 PM -- 还是汇编下看得清楚 |
-- 作者:baiyoung -- 发布时间:4/7/2006 4:37:00 PM -- b) 11,41,20 12,42,20
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.012ms |