我正在编写有关卡的程序,但是无法在结构中添加字符串。这是我的代码:
@EnableGemfireRepositories
所以,请帮助我,我进行了很多搜索,但没有得到任何有用的答案。
答案 0 :(得分:2)
我认为编译器已经警告过您
Adat d={szinek[b],szimb[c]};
因为编译器将尝试做
d.szin=szinek[b];
并且您不能直接执行array2 = array1,因为在这种情况下,您将操作数组的地址(char *)而不是它们的值。
这是初始化char []和结构的正确方法
for(int c=0; c<13; c++)
{
Adat d;
strcpy(d.szin,szinek[b]);
d.ertek=szimb[c];
pakli[a]=d;
a++;
}
或以更好的方式
for(int c=0; c<13; c++)
{
strcpy(pakli[a].szin,szinek[b]);
pakli[a].ertek=szimb[c];
a++;
}
答案 1 :(得分:1)
for(int c=0; c<13; c++)
{
Adat d={.ertek=szimb[c],};
strcpy(d.szin,szinek[b]);
pakli[a]=d;
a++;
}
或
for(int c=0; c<13; c++)
{
pakli[a].ertek=szimb[c];
strcpy(pakli[a].szin,szinek[b]);
a++;
}