把一个字符串拷贝到另一个字符数组里
初级版
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main()
{
char array2[] = "hello world you";
char array3[40];
int i = 0;
for (i = 0; *(array2 + i) != '\0'; i++)
{
*(array3 + i) = *(array2 + i);
}
array3[i] = '\0';//很重要,不结束的话会把内存中原本的数据拷过来,一般后面是烫烫。。。。
printf("arrary2:%s \n", array2);
printf("arrary3:%s \n", array3);
printf("hello....\n");
system("pause");
return;
}
进阶版——指针做参数
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void copy31(char *you,char *me)
{
for (;*you!='\0'; you++, me++)
{
*me = *you;
}
*me = '\0';
return;
}
copy3改版
void copy32(char *you,char *me)
{
for (;*you!='\0'; )
{
*me++ = *you++; \\++优先级高
}
*me = '\0';
return;
}
void copy33(char *you,char *me)
{
while ((*me++=*you++)!='\0')
{
;
}
*me = '\0';
return;
}
main()
{
char arrary2[] = "what's the problem with you?";
char array3[20];
copy31(arrary2, array3);
printf("arrary3:%s \n", array3);
system("pause");
return;
}