论坛: 编程破解 标题: 帮帮忙 复制本贴地址    
作者: none [onizuka]    论坛用户   登录
我遇到一个小问题:
char name[10],*girl="shoo";
gets(name);/*input "Oh!onizuka",正好10个, '\0'没地方放了*/
puts(name);/*success*/
puts(girl);/*fail*/
为什么呢?



地主 发表时间: 04/20 09:17

回复: dizi0774 [dizi0774]   论坛用户   登录
干嘛钻牛角尖呢,把NAME设为11不就可以了吗?

B1层 发表时间: 04/21 21:48

回复: zby_cool [zby_cool]   论坛用户   登录
你这GIRL是指针变量啊,还是去看看基本的知识吧!

B2层 发表时间: 04/22 13:25

回复: dizi0774 [dizi0774]   论坛用户   登录
兄弟,指针变量可以象none说的那样赋值的,只不过在赋值后如果把指针指向了别处(可以用girl++,girl+2什么的,这样还可以找回来),指针值改变了,就不能指向的原来的变量,即所谓的指针丢失。如果是在执行语句中改变指针所指向的值还可以用这和方法,即girl="abcdef";来改变指针中的值,但原来的指针值就会丢失。

B3层 发表时间: 04/25 22:53

回复: aaron [aaron]   论坛用户   登录
都成功了呀,我试过了。
没有出现搂主所说的问题

B4层 发表时间: 04/26 22:25

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号