还有一些其他的原则:
首先就是函数的是否有参数这件事情:
如果明确没有参数的话,函数就写成:void f(void),这个表明这个函数不接受任何参数。
但是如果写成void f()的时候,就不清楚是否要传入什么参数了,这个具体在程序中来看一下:
#include<stdio.h>
//void swap(int a, int b);
void swap();
int main()
{
int a = 5;
int b = 6;
swap(a, b);
{
int a = 0;
printf("a=%d\n", a);//这个就是在一个块里面进行变量的定义和打印。
}
printf("a=%d,b=%d\n", a, b);
return 0;
}
void swap(double a, double b)
{
int swap;
int t = a;
printf("in swap,a=%f,b=%f\n", a, b);
a = b;
b = t;
}
据说前面是一个括号的话后面会自定义为两个int函数,但是在VS中好像不太行,因为它默认的而是有一个参数而不是两个参数。所以这个函数是编译不成功的。
所以还是不要在自定义函数中偷懒,尽量把参数写全,如果真的没有参数的话,那就在括号里面加上void以表示真的没有参数。
再讲一下逗号运算符和函数调用之间的差别:
这块就是我之前一直忽略的一点,首先当函数调用的时候,中间的逗号是标点符号,表示隔开两个参数,如果在括号;里面再套一个括号,那就是逗号运算符直接取右边就可以了。
具体例子在下面:
f(a,b);
f((a,b))
还有就是注意,在函数中可以嵌套调用函数,但是不能嵌套定义函数。
在main函数中的最后的返回值,其实有时候还是有作用的:在输出程序时,加上if errorlevel 1.....的话就会看到程序返回的结果。
但是我们注意,返回值是Int,如果我们输出的是在int之外的就会翻过去。