Я хочу скопировать строку "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;
}