|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 定义一个指针字符串数组,然后输出,问题在哪儿?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
7449
人关注过本帖
标题:
定义一个指针字符串数组,然后输出,问题在哪儿?
只看楼主
加入收藏
xdreamlike
等 级:
新手上路
帖 子:19
专家分:0
注 册:2013-8-8
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:18 回复次数:12
定义一个指针字符串数组,然后输出,问题在哪儿?
#include<stdio.h>
int main()
{
char *a[5];
int i;
printf("please input char:\n");
for(i=0;i<5;i++)
scanf("%s",a+i);
for(i=0;i<5;i++)
printf("the char is:%s",a[i]);
return 0;
}
麻烦大家帮忙看看,以上代码哪儿有问题,多谢。
搜索更多相关主题的帖子:
please
字符串
2013-08-18 17:28
举报帖子
使用道具
赠送鲜花
我叫沃恩
来 自:Asia
等 级:
贵宾
威 望:
10
帖 子:1234
专家分:3865
注 册:2013-3-29
第
2
楼
收藏
得分:3
printf(
"
the char is:%s\n
"
,a+i);
//
a+i为指针的地址!a[i]相当于*(a+i),是一个字符!!
因为我是菜鸟,所以应该被骂!
细节+坚持=成功!
2013-08-18 19:37
举报帖子
使用道具
赠送鲜花
embed_xuel
等 级:
贵宾
威 望:
58
帖 子:3845
专家分:11385
注 册:2011-9-13
第
3
楼
收藏
得分:3
回复 楼主 xdreamlike
问题大了,没有分配空间
总有那身价贱的人给作业贴回复完整的代码
2013-08-18 20:08
举报帖子
使用道具
赠送鲜花
幽灵X
等 级:
职业侠客
帖 子:128
专家分:328
注 册:2013-1-28
第
4
楼
收藏
得分:3
回复 楼主 xdreamlike
问题主要在这句上:char *a[5];这句的意思是a是个元素为char指针的数组。
正确的声明应该是:char *a[5][20];
2013-08-18 20:49
举报帖子
使用道具
赠送鲜花
wp231957
来 自:神界
等 级:
贵宾
威 望:
423
帖 子:13688
专家分:53332
注 册:2012-10-18
第
5
楼
收藏
得分:3
https://bbs.bccn.net/thread-418861-1-1.html
DO IT YOURSELF !
2013-08-18 20:55
举报帖子
使用道具
赠送鲜花
embed_xuel
等 级:
贵宾
威 望:
58
帖 子:3845
专家分:11385
注 册:2011-9-13
第
6
楼
收藏
得分:0
一个比一个敢说
总有那身价贱的人给作业贴回复完整的代码
2013-08-18 20:56
举报帖子
使用道具
赠送鲜花
wp231957
来 自:神界
等 级:
贵宾
威 望:
423
帖 子:13688
专家分:53332
注 册:2012-10-18
第
7
楼
收藏
得分:0
呵呵
3楼王道
DO IT YOURSELF !
2013-08-18 20:59
举报帖子
使用道具
赠送鲜花
liufashuai
来 自:冥界-魔域-魂殿
等 级:
蜘蛛侠
威 望:
1
帖 子:370
专家分:1374
注 册:2012-6-22
第
8
楼
收藏
得分:3
这个问题你问对了,希望这次大家帮你解决以后,你能永远不在这样的问题上出错(估计有点难度)
要分清楚,你定义的是一个数组,但是数组里面是指针,指针的指向不定,即没有为指针分配空间
也就是说指针的值现在是随机值,空间也是随机的,会出现很严重的问题
数据是放在内存中的,内存是要分配的,指针只是一个指向该空间的指向
有一种落差是,你配不上自己的野心,也辜负了所受的苦难。
2013-08-19 09:58
举报帖子
使用道具
赠送鲜花
艺术的生活
等 级:
论坛游民
帖 子:51
专家分:77
注 册:2013-7-28
第
9
楼
收藏
得分:3
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char *a[5];
int i ;
for( i = 0 ; i <5 ; i++ )
{
a[i] = (char *)malloc(sizeof(char)) ;
}
for(i=0;i<5;i++)
scanf("%s",a[i]);
printf("\n");
for(i=0;i<5;i++)
printf("%s\n",a[i]);
return 0;
}
[
本帖最后由 艺术的生活 于 2013-8-19 11:19 编辑
]
2013-08-19 10:57
举报帖子
使用道具
赠送鲜花
赵疯子
来 自:dream
等 级:
蝙蝠侠
威 望:
2
帖 子:365
专家分:737
注 册:2013-5-5
第
10
楼
收藏
得分:3
回复 7楼 wp231957
我还大胆的说来着,看着这句话我就不想打字了。。。
2013-08-19 11:02
举报帖子
使用道具
赠送鲜花
13
1/2页
1
2
快速回复:
定义一个指针字符串数组,然后输出,问题在哪儿?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.049180 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved