C语言:需要解释函数使用中的错误吗

C语言:需要解释函数使用中的错误吗,c,function,C,Function,我是这个网站和编程的新手,所以请耐心等待我。我决定从学习C开始学习编程。现在,除了stdio.h,我仍然一无所知。无论如何,我现在遇到了一个新的主题,那就是函数,我想试着用它来做一些事情 然而,我从来没有机会知道我的算法是否正确 由于编译时的错误,我真的不明白 编译器的错误消息试图告诉我。我不知道是什么导致了这些错误。 因此,我需要有人看一下我的代码并指导/解释/教我, 什么都行 我试图用一个函数以棋盘的方式打印出X和O,下面是 我的密码 int函数_X; int函数; int-size_控制

我是这个网站和编程的新手,所以请耐心等待我。我决定从学习C开始学习编程。现在,除了stdio.h,我仍然一无所知。无论如何,我现在遇到了一个新的主题,那就是函数,我想试着用它来做一些事情

然而,我从来没有机会知道我的算法是否正确 由于编译时的错误,我真的不明白 编译器的错误消息试图告诉我。我不知道是什么导致了这些错误。 因此,我需要有人看一下我的代码并指导/解释/教我, 什么都行

我试图用一个函数以棋盘的方式打印出X和O,下面是 我的密码


int函数_X;
int函数;
int-size_控制器;
main()
{                                                                             
int i;
int j;
整数宽度;
内部高度;
clrsc();
printf(“宽度:\n”);
扫描频率(“%d”和宽度);
printf(“高度:\n”);
扫描频率(“%d”和高度);
对于(j=0;j改变这些(看起来像普通变量):

对于这些(看起来像函数声明):

但是,唯一真正明智的建议是找到一本像样的书并进行研究,这些确实是你本可以避免的问题。

改变这些(看起来像普通变量):

对于这些(看起来像函数声明):


但是,唯一真正明智的建议是找到一本像样的书并进行研究,这些都是你本可以避免的问题。

以下是一个变量:

您可能需要声明函数的原型:


或者,您可以将整个
main()
函数放在源文件的底部,以便在上面声明您调用的函数
函数,它将已经看到声明的函数并知道如何调用它们。这样做还可以避免重复函数参数两次,一次在原型声明中,一次在函数定义中。

以下是声明变量:

您可能需要声明函数的原型:


或者,您可以将整个
main()
函数放在源文件的底部,以便在上面声明您调用的函数函数,它将已经看到声明的函数并知道如何调用它们。这样做还可以避免重复函数参数两次,一次在原型声明中,一次在函数定义中。

您的正向声明是错误的

int function_X;                                                         
int function_O;                                                               
int size_controller;
实际上是函数的声明(带有参数),所以它们应该是

int size_controller(int i);     
int function_X(int i, int j);  
int function_O(int i, int j);

当您声明它们时,它们是变量,当您试图调用它们时,编译器会感到困惑。

您的正向声明是错误的

int function_X;                                                         
int function_O;                                                               
int size_controller;
实际上是函数的声明(带有参数),所以它们应该是

int size_controller(int i);     
int function_X(int i, int j);  
int function_O(int i, int j);

当您声明它们时,它们是变量,当您试图调用它们时,编译器会感到困惑。

您必须更改两件事:

1) 如上所述,更改上述函数声明

2) 将宽度变量声明为全局意味着将其声明在main()上方。而不是在main()中


通过进行这两项更改,它肯定会起作用。

您必须更改两件事:

1) 如上所述,更改上述函数声明

2) 将宽度变量声明为全局意味着将其声明在main()上方。而不是在main()中


通过做这两个改变,它肯定会起作用。

+1用于解释问题,而不仅仅是提供消除错误的代码,guide/explain/teach me,任何解释都是OP希望得到的,而不仅仅是答案。谢谢:)好吧,既然我在这里尝试学习,我想如果没有你的帮助,得到答案对我不会有多大帮助了解其背后的实际问题。+1为了解释问题,而不仅仅是提供消除错误的代码,guide/explain/teach me,任何解释都是OP所期望的,而不仅仅是答案。谢谢:)好吧,既然我在这里尝试学习,我想在不理解问题的情况下得到答案对我没有多大帮助背后的实际问题。谢谢你的建议。我注意到不同的书对每个主题都有不同类型的示例编码。我想我正在读的书没有提供足够的示例。另外,K&R C编程语言-我是最好的C书。虽然如果这是你的第一次编程体验,你可能不会太喜欢它e、 哦,为什么你认为我可能不太喜欢它?它包含复杂的解释?@AutumnK。我不知道Adel C Kod的观点,但我认为这是一本简明扼要的书,并不总是适合初学者。有什么好书可以推荐吗?我不知道为什么,但我试过阅读“C为傻瓜,第二版”我的意思是,我理解这样写这本书的目的:让它变得有趣和“友好”对于那些容易被过于学术化的东西吓到的人来说,这已经足够了。但是,我觉得它相当乏味,而且从来没有切中要害。我需要一本书,它能给出比C更真实、清晰、直截了当的解释。谢谢你
int function_X(int, int);
int function_X;                                                         
int function_O;                                                               
int size_controller;
int size_controller(int i);     
int function_X(int i, int j);  
int function_O(int i, int j);