
一个字符数组只能存放一个字符串,是这样吗?
展开全部
一般来说,字符串是以'\0'字符为结尾的, 一个字符数组可以放多个以'\0'为分隔的字符串, 只要处理好每个字符串的头指针,就没问题. 所以"一个字符数组只能放一个字符串"是不对的.
当然,大多数都不这么做,容易出错.
当然,大多数都不这么做,容易出错.
更多追问追答
追问
printf("%s\n",a);
a为数组名,那是不是只能输出第一个字符串?
追答
嗯,如果是这样的话,输出的是第一个字符串.
展开全部
字符数组与字符串没太大区别,字符串只是在字符数组后加了一个串结束符'\0',如果一个字符数组中有多个串结束符,也可以存多个字符串,如下例;只不过一般都是一个字符数组存一个字符串。
main()
{
char s[]={'h','e','l','l','o','\0','w','o','r','l','d','\0'};
char *p;
p=&s;
printf("%s",p);
printf("%s",p+6);
}
main()
{
char s[]={'h','e','l','l','o','\0','w','o','r','l','d','\0'};
char *p;
p=&s;
printf("%s",p);
printf("%s",p+6);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以存放多个字符串,但要知道每个字符串的起始地址,比如
#include<stdio.h>
int main()
{
char ms[]={'a','b','c','\0','1','2','3','\0','X','Y','Z','\0'};
printf("%s\n%s\n%s\n",ms,ms+4,ms+8);
}
#include<stdio.h>
int main()
{
char ms[]={'a','b','c','\0','1','2','3','\0','X','Y','Z','\0'};
printf("%s\n%s\n%s\n",ms,ms+4,ms+8);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二维数组可以放很多。
更多追问追答
追问
我是指一维数组,是可以存很多,但是无法输出,是这样吗?
追答
字符数组一个元素就是一个字符,可以全部输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-06-14
展开全部
是啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |