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; }