函数 和 函数声明 写的不一致,导致类型冲突。
创新互联建站专注于横峰企业网站建设,响应式网站建设,商城网站定制开发。横峰网站建设公司,为横峰等地区提供建站服务。全流程按需搭建网站,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
比如:头文件里写的是:
int do_something();
而c文件里写的是:
void do_something(){
}
另外,c语言里函数的返回值默认是int。所以如果函数的返回值并不是int,那么一定要声明出来,否则也可能产生类型冲突的错误。
一对花括号理里面叫做语句块 在其中的定义的变量在其括号可以使用
void main()// int main()才是正确的
{
int k=1,m=2; //使用于大括号
m++;
{ //语句块看着独立单元进行了
int k=0;// 使用于这个括号中
k+=m*2;
printf("%d,%d#",k,m);
k++;
}
printf("%d,%d#",k,m);//用大括号的语句
} //
不会发生冲突。但主要是你不要被其困惑就是真的要做的了。
因为这是C语言设计中的一个应用。作用域的应用含义。
函数所带参数的作用域只在该函数体中起到作用。就相当于,函数内部声明的两个变量。是局部变量。
而主函数中的变量定义又是主函数当中的作用域。主函数中变量的作用域是全局变量。
两者自然不会冲突。
如果二者作用域没有交叉,那么可以把函数名定义为static。
或者在使用宏的地方,不要声明该函数。
否则,只能改掉其中一个名字。
推荐宏名用全大写字母。
函数名用全小写字母或者单词开头字母大写。 这样就不会冲突了。
而且根据名字 一眼就可以看出来是宏还是函数。