asignando una cadena a otra cadena
¿Por qué este código no se está ejecutando? ¿Por qué no se asigna str1 a str2? Sé que tengo la opción de usar strcpy pero deseo saber por qué esto no funciona.
#include<stdio.h>
int main()
{
char str1[]="hello";
char str2[10];
str2=str1;
printf("%s",str2);
return 0;
}
Considerando que si utilizo punteros que funciona como aquí ..
#include<stdio.h>
int main()
(
char *s="good morning";
char *q;
q=s;
while(*q!='\0')
{
printf("%c",*q);
q++;
}
return 0;
}
Esto funciona. Ahora la cadena se ha copiado mediante punteros, ¿por qué tanta diferencia?