{
char fac[30];
} c[1000];
j=0;
c[j].fac = "某某某"; /* 此行代码报错: incompatible types in assignment */
为什么会出错啊? 哪位大侠指点一下哦!:)
-- 作者:SunShining
--
main()
{
struct a
{ char *b;
}k[10];
char *y[10];
int j=0;
k[j].b="lalala";
y[j]="wowowo";
printf("%s\n%s",k[j].b,y[j]);
getch();
}
k[j].b与y[j] 的意义是相同的..我想你要的就是 可以存字符串的数组吧.那就用y的形式吧!
谢谢了,我搞懂了你的代码,可是,我还是没有解决我的问题,呵,
我的问题请你看看,如下:
struct ft /* 第一个结构 用来存放 10 个字符串 */
{
char *fac;
}fafa[10] = { {"其它"},{"福田"},{"英达"},{"五菱"},{"现代"},{"通宝"},{"解放"},{"宝马"},{"北京"},{"东风"} };
struct ygs /* 第二个结构 用来输入数据的 */
{
struct ft fafa[10]; /* 制造厂商 */
}c[10];
int fa=0 , j=0 ;
puts("\n请选择制造厂商:");
puts("1.福田\t2.英达\t3.五菱\t4.现代\t5.通宝\t6.解放\t7.宝马\t8.北京\t9.东风\t0.(其它)");
scanf("%d",&fa);
while ( fa < 0 || fa > 9 )
{
puts("输入错误,请重新输入0-9之间数字: ");
puts("1.福田\t2.英达\t3.五菱\t4.现代\t5.通宝\t6.解放\t7.宝马\t8.北京\t9.东风\t0.(其它)");
scanf("%d",&fa);
}
printf( "%s" , c[j].fafa[fa] ) ; /* 就是这一句我不会写 ,,结果执行打印后,返回的是NULL */