| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2051 人关注过本帖
标题:gets(p),*p是指针,输入字符串后字符串内容能存入指针吗?
只看楼主 加入收藏
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
你“char str1[81],str2[81]”时已经分配内存了,指针只是指向这两个数组的首地址,“gets(p1);gets(p2);”和“gets(str1);gets(str2);”完全等效。

正解。

授人以鱼,不如授人以渔
2015-02-27 13:00
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 10楼 执笔画江山
我都贴出运行结果了,还有疑问?单步运行下也可知道是12的,分析如下:
数组内容:q w e r t y \0
指针位置:0 1 2 3 4 5 6  当指针位置(num值)为6时,指向的是字符串结束符,不满足while条件,退出循环,此时num值=6,同理,第二次n值为6时,b[n]=0,相当于=false,循环条件不满足,退出循环,此时num值已经累加到12了,退出函数调用并返回该值。

能编个毛线衣吗?
2015-02-27 13:34
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 12楼 wmf2014
他这是单个的输入 哪有你说的截至符问题?
另外可能是不同的软件不同的结果吧  我试了下 我的是10

授人以鱼,不如授人以渔
2015-02-27 13:39
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 13楼 执笔画江山
给个截图好不好?如果真有不同运行结果,还是很麻烦的事,怎么设计通用程序?我的是vc++6.0。

能编个毛线衣吗?
2015-02-27 13:43
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 12楼 wmf2014
我看了你的图 你两次输入的都是  qwerty 那么结果是12无疑,但是也不包括你说的'\0'

他要求输入的是  qwerty  abcd  所有结果是10

授人以鱼,不如授人以渔
2015-02-27 13:43
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
这对话也是醉了

总有那身价贱的人给作业贴回复完整的代码
2015-02-27 13:44
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 16楼 embed_xuel
.。。。。。。。。。。。。。。那应该怎么说

授人以鱼,不如授人以渔
2015-02-27 13:45
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 15楼 执笔画江山
呵呵,那是我没仔细看1楼题意。我只关注代码部分了,他代码部分只有一个qwerty,我就理解成该串输入两次了。
单步分析必须包含\0,该符号是自动输入的,否则循环什么时候结束就未知了。

能编个毛线衣吗?
2015-02-27 13:51
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 18楼 wmf2014
  我看了一边代码  你说的对  是因为当型循环  所以'\0'没有加进去,嘿嘿。以前忽视这个问题了,受教了。

授人以鱼,不如授人以渔
2015-02-27 13:57
邵蜜柚
Rank: 2
来 自:权大大
等 级:论坛游民
帖 子:79
专家分:86
注 册:2015-2-8
收藏
得分:0 
回复 18楼 wmf2014
大神等等!
我还没明白是怎么一回事。gets函数是从终端键盘读入字符串,p1指向str1首地址,qwerty中的q肯定是存入了str1[0]中,那w按道理是存入str[1]中,可是*p是一维指针,指向str1[0],再输入werty的时候,就没有存储的地方了呀?总不能存入指针里吧?没位置存放了啊?

请给你男神一个爱你的理由。
2015-02-27 22:40
快速回复:gets(p),*p是指针,输入字符串后字符串内容能存入指针吗?
数据加载中...
 
   



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

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