int main(int argc, char *argv[]){
char arr[100];
strcpy(arr, argv[1]);
}
考虑到这一点,我想在没有strcpy的情况下实现相同的单一主方法,我已经尝试过了。我试过这个:
int main(int argc, char *argv[]){
char arr[100];
char *start = arr;
while(*argv[1]!= ' ')
{
*arr= *argv[1];
arr++;
argv[1]++;
}
*destination = ' ';
arr = start;
}
但这给了我一个错误,我想知道为什么:(
arr
不是指针,因此无法递增。请尝试:
int main(int argc, char *argv[])
{
char arr[100];
char *start = arr;
while(*argv[1])
*start++ = *argv[1]++;
*start = 0;
}
当然,如果strlen(argv[1])
大于99,这将是一个问题。
变量就是它们的本质。strcpy
是classis,它有一个正则形式
int main(int argc, char *argv[]){
char arr[100];
char *s = arr;
char *t = argv[1];
while ((*s++ = *t++));
}
有一个D.Ritche Book中的一行。
char* MY_STRCPY(char* dest, char* src)
{
char *d = dest, *s = src;
while(*d++ = *s++);
return dest;
}