第一种:下标法。
#include<stdio.h>
#include<iostream>
int main() {
//该形式下,字符串实际上是一种字符数组
char str1[] = "hello world",str2[30];
printf("%d\n",str1);//获取字符数组首个元素的地址
printf("%s\n", str1);
int i;
//可以利用下标方法复制数组,*(str1+i)表示的是下标为i的值,即str1[i]
for (i = 0;*(str1+i)!='\0'; i++)
{
*(str2 + i) = *(str1 + i);
}
*(str2 + i) = '\0';
printf("%s\n", str2);
system("pause");
return 0;
}
第二种:指针方法。
#include<stdio.h>
#include<iostream>
int main() {
//该形式下,字符串实际上是一种字符数组
char str1[] = "hello world";
char str3[30];
char* p1, * p2;
p1 = str1;
p2 = str3;
for (; *p1!='\0' ; *p1++,*p2++)
{
*p2 = *p1;
}
*p2 = '\0';
printf("%s\n", str3);
system("pause");
return 0;
}