令人费解的编译器响应数组初始化。 [英] Puzzling compiler response to array initialization.
问题描述
您好。我很困惑。一行表格
char array [] = {a};
或
char array [] = {a,b,c};
是一个数组初始值设定项。
_Except_
102 $ cat try.c
#include< stdio.h>
int main()
{
char ao [] = {" Hello" };
char at [] = {" Hello"," Goodbye。" };
返回0;
} / *主* /
103 $ cc -W试试。 c
try.c:在函数`main'':
try.c:6:char数组初始化程序中的多余元素
尝试。 c:6 :(接近初始化'at'')
第5行通过,但它应该得到与第6行相同的错误。
-
Michael Press
cat try.c
#include< ; stdio.h>
int main()
{
char ao [] = {" Hello" };
char at [] = {" Hello"," Goodbye。" };
返回0;
} / *主* /
103
cc -W try.c
try.c:在函数main中:
try.c:6:char数组初始化程序中的多余元素
try.c:6 :(接近初始化'at'')
第5行传递,但它应该得到与第6行相同的错误。
-
Michael Press
Michael Press写道:
你好。我很困惑。一行格式
char array [] = {a};
或
char array [] = {a,b,c数据初始值设定项。
_除了>
102Hello. I am puzzled. A line of the form
char array[] = { a};
or
char array[] = { a, b, c};
is an array initializer.
_Except_
102$ cat try.c
#include <stdio.h>
int main ()
{
char ao[] = { "Hello" };
char at[] = { "Hello", "Goodbye." };
return 0;
} /* main */
103$ cc -W try.c
try.c: In function `main'':
try.c:6: excess elements in char array initializer
try.c:6: (near initialization for `at'')
Line 5 passes, but it should get the same error as line 6.
--
Michael Press解决方案cat try.c
#include <stdio.h>
int main ()
{
char ao[] = { "Hello" };
char at[] = { "Hello", "Goodbye." };
return 0;
} /* main */
103
cc -W try.c
try.c: In function `main'':
try.c:6: excess elements in char array initializer
try.c:6: (near initialization for `at'')
Line 5 passes, but it should get the same error as line 6.
--
Michael Press
Michael Press wrote:
Hello. I am puzzled. A line of the form
char array[] = { a};
or
char array[] = { a, b, c};
is an array initializer.
_Except_
102
这篇关于令人费解的编译器响应数组初始化。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!