一道C语言题目~求教!

#include <stdio.h>
#include <stdlib.h>

int main()
{
unsigned x = 10;
getbits(x, 4, 3);
return 0;
}

unsigned getbits(unsigned x, int p, int n)
{
return (x >> (p+1-n) & ~(~0 << n));
}
F:\Cpractice\test\main.c||In function 'main':|
F:\Cpractice\test\main.c|7|warning: implicit declaration of function 'getbits'|
F:\Cpractice\test\main.c|11|error: conflicting types for 'getbits'|
F:\Cpractice\test\main.c|7|note: previous implicit declaration of 'getbits' was here|
||=== Build finished: 1 errors, 1 warnings ===|

哪错了?

第1个回答  推荐于2016-12-02
getbits 函数未声明
unsigned getbits(unsigned x,int p,int n);插入第三行本回答被提问者采纳
第2个回答  2013-09-27
把getbits放到main函数前面,或者在main函数前面先申明
第3个回答  2013-09-27
unsigned getbits(unsigned,int,int);
调用前需要声明
第4个回答  2013-09-27
函数要提前声明呀!
相似回答