搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 通过指针获取输入的字符串
标题:
通过指针获取输入的字符串
取消只看楼主
ODmini
等 级:
新手上路
帖 子:25
专家分:0
注 册:2014-8-27
结帖率:
66.67%
楼主
已结贴
√
问题点数:4 回复次数:7
通过指针获取输入的字符串
在Linux系统下,运行下面的代码出现(段错误,核心已转储)
求问出错在哪里?
[此贴子已经被作者于2016-8-5 23:16编辑过]
搜索更多相关主题的帖子:
字符串
Linux
2016-08-05 23:15
ODmini
等 级:
新手上路
帖 子:25
专家分:0
注 册:2014-8-27
第
2
楼
得分:0
回复 2楼 FQYB
我用scanf()获取输入了。。
2016-08-05 23:45
ODmini
等 级:
新手上路
帖 子:25
专家分:0
注 册:2014-8-27
第
3
楼
得分:0
回复 5楼 FQYB
首先谢谢你的耐心回答,我知道你的第二种写法(指针指向一个数组),但是还不是我想要的结果;
我之前确实这样写过:只定义char *p; 然后scanf("%s", p); 最后printf("%s\n", p);
而且也没出现什么问题,我想要的结果也是只用指针,而不用数组;
这个是我在某个博客上看到的,和我想要的结果一样,说明我说的不是无厘头。但是我将他的这个代码在Linux系统下运行之后也出现错误。不知道是什么原因!
2016-08-06 00:15
ODmini
等 级:
新手上路
帖 子:25
专家分:0
注 册:2014-8-27
第
4
楼
得分:0
回复 8楼 FQYB
恩恩,我也想了想,可能之前是因为【运气】的问题,指针没有指向“特殊的地方”;
不用数组,也可以这样写:
这样虽然运行的没问题,但是我认为有问题,因为a是字符变量,能存字符串吗?或者说自动为a开辟了空间(当给a一个字符串时)?
2016-08-06 00:37
ODmini
等 级:
新手上路
帖 子:25
专家分:0
注 册:2014-8-27
第
5
楼
得分:0
回复 10楼 FQYB
如果需要事先申请空间的话,你并不知道用户的输入需要占用多大的空间,没有“普遍性”;那么你的代码只能运行在特定场合下!
如果你用数组,或事先申请足够的空间,而用户的输入根本不需要这么大的空间,那么不是造成浪费了吗?
我想的就是这个问题。
2016-08-06 00:41
ODmini
等 级:
新手上路
帖 子:25
专家分:0
注 册:2014-8-27
第
6
楼
得分:0
回复 11楼 FQYB
虽然提到了【运气】这个词,但是我们写代码总不能靠运气吧?
难道没有解决的办法?
或者直接给出规定说【指针不能用于获取字符串】!
我是小白,我不懂,见谅!
2016-08-06 00:44
ODmini
等 级:
新手上路
帖 子:25
专家分:0
注 册:2014-8-27
第
7
楼
得分:0
回复 14楼 FQYB
嗯,谢了
2016-08-06 00:50
ODmini
等 级:
新手上路
帖 子:25
专家分:0
注 册:2014-8-27
第
8
楼
得分:0
回复 16楼 FQYB
我觉得这是一个简单的问题,只想简单地解决;
我自己认为是一个简单的问题,也许是自己学的不够深,不明白其中的【套路】。
2016-08-06 00:53
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-467594-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.994381 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved