C语言编程,数组,指针问题。

有一数组 char a[1000]
一指针 char *s="abc def ghi"
请问我如何将指针里的字符串(前提是,不知道字符串长度)存入数组之中。

第1个回答  2013-02-14
你这个问题很简单。
char *s="abc def ghi"中的首地址,而字符串的最后一个字符为截断字符‘\0’

则可以用以下代码来完成。
char* tmp = s;
int i=0;
while(i<=1000 && (a[i++]=tmp++)!='\0');
i<=1000是保证数组不越界,
a[i++]=tmp++是将指针的字符赋给数组同时判断是否到达末尾了。
第2个回答  2013-02-14
#include<stdio.h>
#include<string.h>
void main()
{
char a[1000];
char *s="abc def ghi /
/*
* 字符串复制函数strcpy(char *,char *, int len);1000为数组a的长度,如果字符串s超过了1000的
* 话,只复制前面1000个字符,防止数组越界。
*/
strcpy(a,s,1000);
puts(a);
}
第3个回答  2013-02-14
#include<stdio.h>
#include<string.h>
void main()
{
char a[1000];
char *s="abc def ghi";
strcpy(a,s); //字符串复制函数strcpy(char *,char *);
puts(a);
}本回答被提问者采纳
第4个回答  2013-02-14
for (i=0;i++;i<1000)
{
a[i]=s[i];
puts(a[i]);
}
相似回答