| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1746 人关注过本帖
标题:求助,关于指针问题*s1++=*s2++
只看楼主 加入收藏
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:3 
回复 15楼 wmf2014
算了,我不发言了

[ 本帖最后由 embed_xuel 于 2015-8-27 11:02 编辑 ]

总有那身价贱的人给作业贴回复完整的代码
2015-08-27 10:51
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:336
专家分:1135
注 册:2014-4-13
收藏
得分:0 
回复 17楼 wmf2014
*s1++==*s2++
这是关系表达式吗,它要何时才能成真呢,它如能成真,有何用处。源码中是要把s2接在s1末尾,并不是要看看他们俩长得是否一样吧
2015-08-27 10:54
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 19楼 jklqwe111
就1楼代码本身而言,只有一个对常量赋值的错误,不存在你说的边界问题,“但是,s1又变为常量,不能为左值,不支持++运算符”这是你原话,实际上s1是能够自增的。当然,要达到楼主的目的,就是另外一回事了,其实不将常量改为变量也可以达到显示要求,无非不换行。

能编个毛线衣吗?
2015-08-27 11:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你结合程序想达到什么目的来看啊,手误敲错哪有这样的,一定是书上就那个样子。

授人以渔,不授人以鱼。
2015-08-27 11:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
两个常量字符串,能拼得起来吗?不拼,复制字符串也不行!这怎么不是书的问题。

授人以渔,不授人以鱼。
2015-08-27 11:06
醒山
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:9
帖 子:463
专家分:2071
注 册:2015-5-25
收藏
得分:0 
是照书敲的
2015-08-27 11:06
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:336
专家分:1135
注 册:2014-4-13
收藏
得分:0 
回复 23楼 wmf2014
此s1非彼s1,你往前再看一段,为了让"ABCD"可变,应把s1定义为字符数组,那么才会产生。。。。的情况。
2015-08-27 11:09
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 27楼 jklqwe111
其实我只想指出1楼代码中显式错误和你判断上的错误
仔细分析楼主代码,要达到楼主显示的效果,恰恰是要利用数组溢出才能达到的(你所说的边界),估计书本上是列举的16位系统,我的32位vc编译器不能演示,但做几处修改,仍然可以模拟出来。
1,s1、s2修改为数组,并互换位置 (或者把s1、s2定义为全局变量,不互换位置)
2,数组赋初值加长点(消除vc定义局部变量的内存对齐)
3,只对指针进行运算

修改后代码如下:
#include<stdio.h>
void main()
{
    char s2[]="EFGHIJK",s1[]="ABCDEFG";
    char *ps1=s1,*ps2=s2;
    while(*ps1)
    ps1++;
    while(*ps1++=*ps2++);
    printf("%s\n",s1);//输出为ABCDCDEF
    printf("%s\n",s2);//输出为DEF
}
运行结果:
ABCDEFGEFGHIJK
FGHIJK

能编个毛线衣吗?
2015-08-27 11:45
huliangjia
Rank: 2
等 级:论坛游民
帖 子:17
专家分:13
注 册:2015-7-22
收藏
得分:0 
回复 12楼 TonyDeng
以前的考级书不知是哪个人才出的,很多选择题的题目代码都是没有花括号的。
2015-08-27 19:51
快速回复:求助,关于指针问题*s1++=*s2++
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017769 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved