在下面的程序中,第 5 行给出了一个错误,但第 11 行没有,而两者都在做同样的事情,即用 0 初始化一个字符串?我很清楚它会给出编译器错误。我的疑问是如果第 5 行给出错误,那么为什么第 11 行没有?
#include<stdio.h>
int main()
{
char name[20]=0; //This should also run if line 11 runs without an error where string is being initialized by zero.
struct node
{
char name[20];
int no;
};
struct node a={0};
}