C 得到一个;返回类型默认为';int'&引用;在int main()之前声明Shortf函数时出现警告。为什么? #包括 int w=7,v=0; 短路(短路a,短路*b) { a++;(*b++;w++;v++); printf(“13:%d%d%d”,a,v,w);返回a; } int main() { 返回0; }

C 得到一个;返回类型默认为';int'&引用;在int main()之前声明Shortf函数时出现警告。为什么? #包括 int w=7,v=0; 短路(短路a,短路*b) { a++;(*b++;w++;v++); printf(“13:%d%d%d”,a,v,w);返回a; } int main() { 返回0; },c,function,types,return,warnings,C,Function,Types,Return,Warnings,这是我代码的一部分。这是我所在大学的一位老师给我的,但当我写这篇文章时,我收到了10多条警告和错误,这就是其中之一。 我在第4行得到一个“返回类型默认为'int'”警告。为什么? 注意:我只允许使用C。您忘记声明函数的返回类型shortf。在C89中,如果省略函数的返回类型,则假定该函数返回inttype的值(默认情况下)。应该是 #include <stdio.h> int w=7,v=0; shortf(short a, short *b) { a++;(*b)++;w+

这是我代码的一部分。这是我所在大学的一位老师给我的,但当我写这篇文章时,我收到了10多条警告和错误,这就是其中之一。 我在第4行得到一个“返回类型默认为'int'”警告。为什么?
注意:我只允许使用C。

您忘记声明函数的返回类型
shortf
。在C89中,如果省略函数的返回类型,则假定该函数返回
int
type的值(默认情况下)。应该是

#include <stdio.h>
int w=7,v=0;
shortf(short a, short *b)
{
    a++;(*b)++;w++;v++;
    printf("13: %d %d %d",a,v,w); return a;
}
int main()
{
    return 0;
}

在C99和后者中,省略函数的返回类型是非法的。

您忘记声明函数的返回类型
shortf
。在C89中,如果省略函数的返回类型,则假定该函数返回
int
type的值(默认情况下)。应该是

#include <stdio.h>
int w=7,v=0;
shortf(short a, short *b)
{
    a++;(*b)++;w++;v++;
    printf("13: %d %d %d",a,v,w); return a;
}
int main()
{
    return 0;
}

在C99和后者中,省略函数的返回类型是非法的。

您没有为函数
shortf
声明返回类型。因此编译器警告您将使用默认类型
int

您应该始终声明返回值类型。我的猜测是代码刚刚被转录错了。我认为应该是:

short shortf(short a, short *b) {...}

您没有为函数
shortf
声明返回类型。因此编译器警告您将使用默认类型
int

您应该始终声明返回值类型。我的猜测是代码刚刚被转录错了。我认为应该是:

short shortf(short a, short *b) {...}

您似乎没有为您的函数声明返回类型…您似乎没有为您的函数声明返回类型…很清楚,但是代码应该是什么样子的?如何声明返回值类型?我很抱歉我缺乏经验,我已经用GUI编写代码多年了,转换并没有我想象的那么快。谢谢你帮我。那会在你的课本上。查看我的最新更新。f的返回值类型很短,对!我遗漏了它们之间的空格,因为它类似于“Type Name()”,所以我合并了short和f,创建了一个。。。讨厌?好的,太好了,我不知道我的想法是什么,认为这会起作用。非常感谢@DavidHeffernan认为我会在这里跳一点华尔兹舞:我认为
int
在没有任何警告的情况下不指定一个时,会自动作为返回值吗?提前谢谢。@解除警报就是这样。编译仍在继续,但编译器选择通知您它认为可疑的内容。足够清楚,但代码应该是什么样子的?如何声明返回值类型?我很抱歉我缺乏经验,我已经用GUI编写代码多年了,转换并没有我想象的那么快。谢谢你帮我。那会在你的课本上。查看我的最新更新。f的返回值类型很短,对!我遗漏了它们之间的空格,因为它类似于“Type Name()”,所以我合并了short和f,创建了一个。。。讨厌?好的,太好了,我不知道我的想法是什么,认为这会起作用。非常感谢@DavidHeffernan认为我会在这里跳一点华尔兹舞:我认为
int
在没有任何警告的情况下不指定一个时,会自动作为返回值吗?提前谢谢。@解除警报就是这样。编译仍在继续,但编译器选择通知您它认为可疑的内容。谢谢!回答得好!不过我不得不用谷歌C89,我想这是该语言的版本。我学到了一些新东西^^C89、C99、C11都是C标准。谢谢!回答得好!不过我不得不用谷歌C89,我想这是该语言的版本。我学到了一些新东西^^C89、C99、C11都是C标准。