C语言中如何把字符串保存在数组中

 我来答
昝培胜圭碧
2020-01-16 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:32%
帮助的人:639万
展开全部
你这个毫无规律啊!!!
a[0]的56是16进制的,你的字符串是“56”;
a[2]的45的10进制的,你的字符串中也是“45”,规律都不同。
做不到!!!
如果是按照16进制,所有数都的按照16进制来,如果是10进制的话,一样的。
例如10进制,使用你上面的数据:
a[0]
=
5*16+6
=
86;
a[1]
=
8*16+7
=
...,
a[2]
=
45;
字符串应该是"86...45..."
希望能解决您的问题。
让米烟平惠
2020-01-07 · TA获得超过3746个赞
知道大有可为答主
回答量:3065
采纳率:30%
帮助的人:188万
展开全部
/*
C语言中怎么把字符数组里的数据存放到字符串数组中
*/
#include
#include
void
main()
{
char
a[
100
],
*p,
*q;
int
i,
j,
n
=
0;
char
*b[
50
];//字符指针数组
printf("Please
input
a
sentence:\n");
gets(
a
);
p
=
a;
while(
*p
!=
'\0'
)
{
if(
*p
==
'
')
{//跳过空格
p++;
continue;
}
else
{
i
=
0;
while(
*(
p
+
i
)
!=
'
'
&&
*(
p
+
i
)
!=
'\0'
)
i++;
q
=
new
char[
i
+
1
];//创建一个新的字符数组,存储单词
for(
j
=
0;
j
<
i;
j++
)
q[
j
]
=
p[
j
];
q[
i
]
=
'\0';//记得放上结束符
b[
n++
]
=
q;//用字符数组中的元素指向新创建的字符数组
p
+=
i;
}
}
//以下换行输出,验证是否正确
for(
i
=
0;
i
<
n;
i++
)
printf(
"%s\n",
b[
i
]
);
for(
i
=
0;
i
<
n;
i++
)
delete
[]b[i];//释放各个字符数组
}
//测试:输入
//
sdkjf
skdj
d
//
输出
//
sdkjf
//
skdj
//
d
P.S:
或者输入一个完整的英文,如
"
I
am
a
genius!"
也可。程序会自动忽略空格。:-)
用C的malloc和free写起来较长,喜欢用C++中的new和delete
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式