社区
新手乐园
帖子详情
二级题,高手们帮我看看
luhongfeng
2004-09-12 09:35:05
#include "stdio.h"
int main()
{
char *s1="ABCD",*s2="CDEF";
char *ps1=s1,*ps2=s2;
while (*s1)
s1++;
while (*s1++=*s2++);
printf("%s\n",ps1);
printf("%s\n",ps2);
}
这个程序输出ps2为什么是DEF?
...全文
541
49
打赏
收藏
二级题,高手们帮我看看
#include "stdio.h" int main() { char *s1="ABCD",*s2="CDEF"; char *ps1=s1,*ps2=s2; while (*s1) s1++; while (*s1++=*s2++); printf("%s\n",ps1); printf("%s\n",ps2); } 这个程序输出ps2为什么是DEF?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
49 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GeminiXXXCC
2005-03-11
打赏
举报
回复
查了下书,原来'\0'的就是0啊.
唉,继续看书.
GeminiXXXCC
2005-03-11
打赏
举报
回复
while (*s1)
s1++;
我只是不明白这个循环为什么能停下来?
哪位解释一下,谢谢.
难道*s1 = '\0'的时候,*s1 = FAULSE了?
tudou614
2005-03-11
打赏
举报
回复
呵呵,可能等级考试刚兴起的时候中国电脑还比较少,专家只好把一些“怪”题COPY下来做为考试内容,不过想清楚还是好的,现在发展这么快等级考试还要跟上时代发展啊!!
lxjlz
2005-03-10
打赏
举报
回复
學習中,都是高手呀.........
Kelvin_Chen
2005-03-07
打赏
举报
回复
惊起骂声一片
yangyangxc
2005-03-04
打赏
举报
回复
给我详细讲一下 那个判断条件可以吗 ?
flower_coge
2005-03-04
打赏
举报
回复
唉,中国人出的题是用人脑来运行底,思维模式差不多啊!
要是用电脑,那就要看用什么编译器了!。。。。。。。
所以只能用来考试,要是用来写程序,估计要被炒!!!!!!!!!!!
yuchengliu
2005-03-04
打赏
举报
回复
我认为这个是题目的问题.
如大家所说:
回复人: xteaj() ( ) 信誉:100
while (*s1) s1++;//将s1移到了字符串的尾端
while(*s1++ = *s2++);//将s2添加到s1的尾端
但在内存区,s1和s2都指向常量,大小已定。
在在初始状态,s1,s2的关系如下
'A' 'B' 'C' 'D' '\0' 'C' 'D' 'E' 'F' '\0'
s1 s2
ps1 ps2
添加后变成
'A' 'B' 'C' 'D' 'C' 'D' 'E' 'F' '\0' '\0'
s1 s2
ps1 ps2
你想ps2不输出DEF是什么?
s1,s2是在编译器初始化的时候,给他们分配的是连续空间,
但是如果这样做会怎么样呢?
请高手指点!谢谢!
#include "stdio.h"
int main()
{
char *s1="ABCD";
char *s3 = "TEST";
char *s2="CDEF";
char *ps1=s1,*ps2=s2;
while (*s1)
s1++;
while (*s1++=*s2++);
printf("%s\n",ps1);
printf("%s\n",ps2);
}
buszker
2005-03-04
打赏
举报
回复
这样的鸟题
不值得大家浪费宝贵的口水
tudou614
2005-03-01
打赏
举报
回复
把最后的'\0'结束副给冲掉了
while (*s1)
s1++;
avalonBBS
2004-09-13
打赏
举报
回复
~晕,,运行时程序DOWN~~
xiaolvlong
2004-09-13
打赏
举报
回复
这题是变态,但是,……这题纯考,你++使得怎么样,我感觉和指针及字符串没什么关系。就是个细心问题。
14301965
2004-09-13
打赏
举报
回复
顶!一楼说的明白。我考2级的时候没遇见这样的题,估计遇见了我也会麻的。
AlxRose
2004-09-13
打赏
举报
回复
学习
楼上能说说什么叫编译器自动对齐地址吗?
zhangfjj
2004-09-13
打赏
举报
回复
我很认真吗?
呵呵。。。
大家不都是在讨论什么输出"DEF"吗?我也是!
171558134
2004-09-13
打赏
举报
回复
zhanghjj 不要那么认真,你要知道很多纸上写出的程序,在机器上不一定都能运行!还是要通过修改的!
现在只是讨论 输出结果为什么是 “DEF” 哈!
这问题只要把思维上的东西讲通,就可以做了! 后面就是一步步调试! 知道运行通过!
171558134
2004-09-13
打赏
举报
回复
顶!!
二楼的! 厉害! 讲解明白! 就连流程图都画出来了! NB !
上!
顶!!!
sangrei
2004-09-13
打赏
举报
回复
#include "stdio.h"
int main()
{
char *s1="ABCD",*s2="CDEF";
char *ps1=s1,*ps2=s2;
while (*s1)
s1++; //此处将地址批针移到S1的末尾,即执行完循环后,S1所指向的地址
//值为"/0"。
while (*s1++=*s2++);//条件不可能成立,因为"/0"!="C",但是执行了*s2++,即s2指向下一
//字符"D"。
printf("%s\n",ps1);
printf("%s\n",ps2);此时当然输出DEF啦!
}
写这样的程序,还不如出去要饭!
一叶还真不知秋
2004-09-13
打赏
举报
回复
都说了二级是在TC2中运行的啦,大家考虑二级时就应该只考虑TC2这个环境,又不是
在公司里编程。
66766
2004-09-13
打赏
举报
回复
还好我的书里特别强调char *s1="ABCD",*s2="CDEF";s2并不一定紧接着s1,而且并不一定在s1之后
加载更多回复(29)
java源码包---java 源码 大量 实例
大家可以看截图。 Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如
题
Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 ...
java源码包2
大家可以看截图。 Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如
题
Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板...
Android自定义控件,自定义
二级
弹出菜单
我们在常用的电商或者旅游APP中,例如美团,手机淘宝等等,都能够看的到有那种下拉式的
二级
列表菜单。自定义
二级
菜单。
中国电子学会2022年12月份青少年软件编程Scratch图形化等级考试试卷
二级
真
题
(含答案)
中国电子学会2022年12月份青少年软件编程Scratch图形化等级考试试卷
二级
真
题
(含答案)
计算机
二级
非线性结构和线性结构区别视频,啥数组、链表、线性结构?计算机
二级
office选择
题
白话串讲2-1...
我是女神
二级
的叶子老师,用自己多年的计算机教师经验,把最容易吸收的知识点输送给考生。我将持续分享关于计算机
二级
国考方面的文章。感兴趣的读者请点击右上角“关注”吧!公共基础
二级
Office必考的考点专业性很强...
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章