【发布时间】:2020-11-21 07:29:00
【问题描述】:
为什么会出现分段错误?我对C很陌生,对我来说真的很难。 我google了很多,发现它必须正常工作。
#include <stdio.h>
struct school
{
int schoolNum;
int year;
int gradNum;
int univNum;
};
int main()
{
struct school schools[5] = {
114, 2020, 470, 300,
86, 2019, 545, 450,
231, 2020, 340, 320,
113, 2020, 435, 395,
55, 2019, 395, 380
};
printf('%d\n', schools[0].gradNum);
return 0;
}
【问题讨论】:
-
使用
"而不是'字符串文字。 -
printf调用中的单引号是错误的。对格式字符串使用双引号。您应该收到有关该问题的编译器警告。 (启用所有警告。) -
谢谢你,那真是愚蠢的错误
-
您可能还想在结构的初始化数组中添加 4 对大括号
{ ... }。 -
一个体面的编译器应该发出关于 multi.character 文字的警告,如果没有,那么您需要启用更多警告。
标签: c struct segmentation-fault clang