以下代码段有效:
main( )
{
struct book
{
char name[20];
int noof;
float prices;
};
struct book b={0};
printf("%d %f", b.noof, b.prices);
}
在这里,我name[ ]
被初始化为0.但是以下代码段不起作用:
main( )
{
char c[ ]=0;
printf("%c", c[0]);
}
答案 0 :(得分:2)
0
in:
char c[ ]=0;
不是有效的数组初始值设定项。你需要在它周围加上括号:
char c[] = { 0 };
或等同地:
char c[] = "";
当您尝试打印时,%c
也无效,因为字符0
通常无法打印。试试%d
。
printf("%d\n", c[0]);
除此之外,您的main
函数应声明为返回int
。