このコードが実行されないのはなぜですか? str1 が str2 に割り当てられないのはなぜですか?? strcpy を使用するオプションがあることは知っていますが、これが機能しない理由を知りたいですか??
#include<stdio.h>
int main()
{
char str1[]="hello";
char str2[10];
str2=str1;
printf("%s",str2);
return 0;
}
一方、ポインターを使用すると、ここのように機能します..
#include<stdio.h>
int main()
(
char *s="good morning";
char *q;
q=s;
while(*q!='\0')
{
printf("%c",*q);
q++;
}
return 0;
}
これは機能します。文字列はポインターを介してコピーされたので、なぜそのような違いがあるのでしょうか??