char *p问题

waterluo2003 2003-10-19 11:34:06
有一个题目,问执行后的结果:
main(){
char *x;
x="47";
do
printf("%c,",--x);
while(!x);
}

书上的答案是: 3,
问一下,给一个指针变量初始化时,好像指向首地址呀,上面怎么变成3了呢,就算是指针指向的内存地址变了,也应是4或7呀!
...全文
59 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sharkhuang 2003-10-20
  • 打赏
  • 举报
回复
ft!破书!
bing_huo 2003-10-20
  • 打赏
  • 举报
回复
ft...
ningzhiyu 2003-10-20
  • 打赏
  • 举报
回复
main(){
char *x;
x="47";//指向一个字符串常量“47”的首地址。
do
printf("%c,",--x);//"--"使指针向后移动,目标内存不知道。打印结果根据当时内存
//不同而定.一个到处乱飞的指针,恐怖。
while(!x);//检查x是不是0值,(检查它的指向是否为空是!*x)
}
老大,这样的程序如果出现在实际的项目中,管理的老大不吐血身亡就怪了。

zhyy 2003-10-20
  • 打赏
  • 举报
回复
可能打出任意字符串!

事实上x根本未附初值!
CountFloyd 2003-10-20
  • 打赏
  • 举报
回复
x指向一个常量,输出的就是一个实心的倒三角符号。

你这里的x是指针,那 !x是什么???这个循环有什么用?
xiaohaozi0083 2003-10-20
  • 打赏
  • 举报
回复
运行是运行出来了,但输出并不是什么3or4有或是7,相信你那本什么书,肯定是误人子弟了。
limd 2003-10-20
  • 打赏
  • 举报
回复
楼主,现在破书很多,选一本好的书吧,不要被垃圾书给埋没了
SCUM 2003-10-20
  • 打赏
  • 举报
回复
是什么误人子弟的书??!?!
lyff8neo 2003-10-20
  • 打赏
  • 举报
回复
我怎么上机什么都打不出来啊!
见鬼!要赶快恶补c了,到时候数据结构不错,c完蛋就死定了!
figh 2003-10-20
  • 打赏
  • 举报
回复
ningzhiyu(凝滞雨)说的没错,就是这样的情况...
hchinside 2003-10-20
  • 打赏
  • 举报
回复
害人

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧