int main ()与void main():
按照新的C99标准,即使函数本身没有定义返回值,编译器也会加上,以返回给激发程序,运行状态。很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /* … * / } is not and never has been C++, nor has it even been C. ( void main( ) 从来就不存在于 C++ 或者 C )。下面我分别说一下 C 和 C++ 标准中对 main 函数的定义。 1.void 和 int 表明声明不同的主函数返回值,不声明则默认返回值为int整型。 2.int main可移植性强。 3.C语言从来没声明过void main ,只声明过main() 。 4.抛弃一切用void main 编写C程序的习惯!
函数定义
- 函数中不能嵌套其它函数;
- 不论
return 语句返回值为何种数据类型,最后都将自动转换为函数类型(返回类型); void 表示不返回任何数值。
函数调用: 格式: 函数名(参数1,参数2)
- ()起到了重要作用,即使没有参数也需要();
- 参数是表达式的结果,包括:常量、变量、函数返回值、表达式、数组;
int a,b,c;
a=1;
b=3;
c=max(a,b);
c=max(1,3);
c=max(a,3);
c=max(1,1+2);
c=max(1,max(2,3));
c=max(a[1],3);
调用方式:(类似于变量的的调用)
printstar();// 单独作为一个语句 z=max(x,y);// 函数直接附在表达式中 z=max(max(a,b),c);// 函数作为函数的参数
函数原型
#include<stdio.h>
void sum(int begin, int end);
int main() {
sum(10, 20);
sum(30, 90);
return 0;
}
void sum(int begin, int end)
{
int sum = 0;
int i;
for(i = begin; i <= end; i++) {
sum += i;
}
printf("%d\n", sum);
}
本地变量的规则
- 本地变量可以定义在块(即
{} )内:函数的块、语句的块,甚至随便{} 内; {} 内的变量在{} 外无效;(程序运行进入这个块之前,本地变量不存在,离开这个块,本地变量也消失;){} 外的变量在{} 内有效;{} 内的同名变量会掩盖{} 外的(Java不同)
其它 不需要调用参数时,用void f(void); void f() 表示f函数的参数表未知,不表示没有参数; return i; 不建议加括号
|