#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;
}
这是我的代码的一部分。这是我大学的一位老师给我的,但是当我写这篇文章时,我得到了10多个警告和错误,这就是其中之一。 第4行我收到“返回类型默认为'int'”警告。为什么? 注意:我只允许使用C。
答案 0 :(得分:4)
您没有为函数shortf
声明返回类型。因此,编译器警告您将使用默认类型int
。
您应该始终声明返回值类型。我的猜测是代码刚刚被错误地转录。我认为应该是:
short f(short a, short *b)
答案 1 :(得分:1)
您忘记声明函数shortf
的返回类型。在C89中,如果省略函数的返回类型,则假定该函数返回值int
类型(默认情况下)。它应该是
short shortf(short a, short *b) {...}
在C99及后者中,省略函数的返回类型是违法的。