-1
私はCプログラミングの新人で、質問があります。これは簡単なプログラムですが、なぜこのようなコンパイルエラーが出るのかわかりません。メイン関数の構造体を初期化する方法は?
#include<stdio.h>
#include<conio.h>
struct Book
{
char book_name[20];
char auther[20];
int book_id;
};
void main()
{
struct Book b1;
clrscr();
b1.book_name="c++";
b1.auther="xyz";
/* Above two line show compile time error Lvalue required */
b1.book_id=1002;
printf("\n Book Name= %s",b1.book_name);
printf("\n Book Auther= %s",b1.auther);
printf("\n Book ID= %s",b1.book_id);
getch();
}
Cで '='を使用して配列を割り当てることはできません。代わりに 'strcpy'と友人を使用してください。 –
しかし、 'char'配列を文字列定数で*初期化することはできます。この問題は、イニシャライザで 'b1'を宣言することで対処できます。その場合は 'strcpy()'は必要ありません。 –