C言語は初心者でテキストを見ながら進めています。
WindowsのVistaを使っています。
今回は文字列の配列を2つ用意して、一方は入力用で、もう一方は入力した文字列と一致しなかったら、格納するプログラムを作ろうとしたのですが、エラー:左辺値が必要(st2 = st1;)とありました。どうしたらよいでしょうか?
#include <stdio.h>
#include <string.h>
int main(void)
{
char st1[100];
char st2[50][100];
int i, cnt = 0;
printf("文字列を入力してください:");
while ( scanf( "%s", st1 ) != EOF ) {
for ( i = 0; i < cnt; i++ ) {
if ( strcmp( st1, st2 ) == 0 ) {
printf("その文字列はすでに格納されています。\n");
break;
}
}
if ( i == cnt ) {
printf("その文字列はまだ格納されていません。\n");
st2 = st1;
cnt++;
}
printf("文字列を入力してください:");
}
for ( i = 0; i < cnt; i++ ){
printf( "\n[%d] : %s", i + 1, st2 );
}
return 0;
}