void的含义:
# include <stdio.h> int f(void) //void表示不接收任何数据,int表示返回int类型值,即下面的 return 10; { return 10; //向主调函数返回10,即向main函数中调用的语句返回10这个值。 } void g(void) //函数名前的void表示该函数没有返回值。 { //return 10; //错误,与上面的void相矛盾,不能有返回值。 } int main(void) { int i = 88; int j = 5201314; i = f(); //因为f函数不接收任何数据,所以括号内为空,调用函数后,f函数返回10,i的值变为10。 //j = g(); //因为g函数没有返回值,所以不能赋值给j。注意:没有返回值不是返回0,而是返回为空! printf("%d\n", i); printf("%d\n", j); return 0; }
break与return的区别:
# include <stdio.h> void f(void) { int i; for(i=0; i<5; i++) { printf("呵呵!\n"); break; //break用于终止for循环。 } return; //return用于终止整个函数。 printf("哈哈!\n"); } int main(void) { f(); return 0; }
函数练习——多次求素数:
# include <stdio.h> //本函数功能是判断一个数是否为素数,如果是,则返回true,如果不是,则返回false。 bool IsPrime(int m) { int i; for (i=2; i<m; ++i) { if (0 == m%i) break; } if (i == m) return true; else return false; } //本函数功能是输入1到n所有的素数。 void TraverseVal(int n) { int i; for (i=2; i<=n; ++i) if ( IsPrime(i) ) printf("%d\n", i); } int main(void) { int i; int val; int j; printf("请输入需要求的次数:"); scanf("%d", &i); for (j=1; j<=i; ++j) { printf("请输入第 %d 次上限:", j); scanf("%d", &val); TraverseVal(val); } return 0; }
全局变量与局部变量:
# include <stdio.h> int k = 1000; //k即为全局变量,即可供所有函数使用。 void f(int i) { int j; //形参i和定义变量j都为局部变量,即仅供函数内部使用。 printf("k = %d\n", k); } int main(void) { int m = 10; f(m); return 0; }
全局变量与局部变量的命名冲突问题:
# include <stdio.h> int i = 99; void f(int i) { printf("i = %d\n", i); } int main(void) { f(8); return 0; } /* 输出结果为:i = 8 即当全局变量名与局部变量名相同时,会默认采用局部变 量,即局部变量(Private)优先级>全局变量(Public)。 */
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/lfhappypain/article/details/47208301