免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1730 | 回复: 10
打印 上一主题 下一主题

请教一个指针问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-02 18:17 |只看该作者 |倒序浏览
char *p,*q;
*q=*(p +=*(p + 1) - *p));
那q是个什么东东啊?
谢谢解答!

论坛徽章:
0
2 [报告]
发表于 2006-10-02 18:23 |只看该作者
原帖由 stchlw 于 2006-10-2 02:17 发表
char *p,*q;
*q=*(p +=*(p + 1) - *p));
那q是个什么东东啊?
谢谢解答!


请先分配内存。

论坛徽章:
0
3 [报告]
发表于 2006-10-02 22:17 |只看该作者
LZ这样使用指针是很危险的.我的觉得使用指针的时候,程序设计者应该时刻明白指针现在指向哪儿.

论坛徽章:
0
4 [报告]
发表于 2006-10-02 22:25 |只看该作者

看这个程序:火星人说Hello World

#include<iostream>

void alien_say(char *p)
{
    while (putchar(*(p +=*(p + 1) - *p)));
}

int main()
{
    alien_say("BETHO! Altec oh liryom(a loadjudas!) dowd.");
    system("pause");
    return 0;
}

论坛徽章:
0
5 [报告]
发表于 2006-10-03 09:48 |只看该作者
原帖由 stchlw 于 2006-10-2 22:25 发表
#include<iostream>

void alien_say(char *p)
{
    while (putchar(*(p +=*(p + 1) - *p)));
}

int main()
{
    alien_say("BETHO! Altec oh liryom(a loadjudas!) dowd.";
    s ...

初始状态
p->"BETHO! Altec oh liryom(a loadjudas!) dowd."
在gcc 编译器中
*p='B'=66
*(p+1)='E'=69
第一次循环
putchar(*(p+=69-66)) //p指针后移3个字节指向'H'
第二次
putchar(*(p+=111-104))//p->'e'
.......

输出Hello world!

论坛徽章:
0
6 [报告]
发表于 2006-10-03 11:47 |只看该作者
原帖由 nnnqpnnn 于 2006-10-3 09:48 发表

初始状态
p->"BETHO! Altec oh liryom(a loadjudas!) dowd."
在gcc 编译器中
*p='B'=66
*(p+1)='E'=69
第一次循环
putchar(*(p+=69-66)) //p指针后移3个字节指向'H'
第二次
putchar(*(p+= ...

谢谢你!
你好棒

论坛徽章:
0
7 [报告]
发表于 2006-10-03 11:57 |只看该作者
属于有病行为
所谓饱暖思淫欲

论坛徽章:
0
8 [报告]
发表于 2006-10-03 14:59 |只看该作者
鉴定完毕, 属于没事无聊。

论坛徽章:
0
9 [报告]
发表于 2006-10-03 17:45 |只看该作者
hehe

论坛徽章:
0
10 [报告]
发表于 2006-10-03 21:21 |只看该作者
原帖由 p4apple 于 2006-10-3 14:59 发表
鉴定完毕, 属于没事无聊。

这怎么就无聊了,那个算法我看不懂我问一下,我容易吗我
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP