哪一年的c语言书,还在 void main() { } 哇、童鞋,那本书还是不要看了、
int main()
{
......
strcpy(str1, str2); //
.......
return 0;
}
我们可以手动编写一个,建议,不要学习ls 的习惯(虽然他的第二个程序写的很好、):
const char* MyStrCpy(char* pDstStr, const char* pSrcStr);
c 的精神:简单、优美,看看他的命名习惯,java、vc恐怕学得多了、、
char *strcopy(char *s, char *t) // 将 t 串拷贝到 s 中去,并返回s、这里用的strcopy,不是strcpy、注意一下!!
{
char * p = s;
while( *p++ = *t++); // 一个一个拷贝,直到遇到 '\0' (实际就是0,做判断的话,就是false)
return s;
}
建议 lz 看下 K&R 这本书,虽然介绍的c89,你懂的,c语言从那个时候,基本就已经定型了、~~
我刚刚编了一个这样的程序,下面的代码就能把str2中的字符赋值给str1
#include
#include
#include
int main(void)
{
char str1[30]="hello",str2[30]="nihao";
int len,i;
strlen(gets(str2));
for(i=0;i<=len;i++)
str1[i]=str2[i];
puts(str2);
getch();
return 0;
}
第一种:
const char* MyStrCpy(char* pDstStr, const char* pSrcStr)
{
char* pTemp = pDstStr;
do
{
*pTemp = *pSrcStr;
pTemp++;
pSrcStr++;
} while ('\0' != *pTemp);
return pDstStr;
}
第二种:
const char* MyStrCpy(char* pDstStr, const char* pSrcStr)
{
char* pTemp = pDstStr;
while (*pTemp++ = *pSrcStr++)
{
}
return pDstStr;
}
如果将str1复制给str2的话,就这样strcpy(str1,str2).
strcpy(str1,str2)