我想将字符串“ str”复制到p。首先,我使用注释掉的代码,但是输出为空。因此,我尝试了位于注释区域下方的代码,并且该代码有效。两种在C中操作字符串的方法有什么区别?预先感谢。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
char *str = "laekfja";
char *p = (char*)malloc(51 * sizeof(char));
//First try.
/* while(*str)
{
*p++ = *str++;
}
*p = '\0';
printf("%s\n",p);
*/
//Second try.
int i = 0;
while(i < strlen(str))
{
p[i] = str[i];
i++;
}
p[i] = '\0';
printf("%s\n",p);
return 0;
}