标签:continue bre clu 小结 condition 简洁 c语言 通过 func
do.....while语句的循环方式:
do { //loop } while(condition)
while 语句的循环方式:
while(condition) { //loop }
for语句的循环方式:
for(初始化;condition;对条件值的改变) { //loop }
程序示例1:
#include <stdio.h> int f1(int n) { int ret = 0; if( n > 0 ) { do { ret += n; n--; } while( n > 0 ); } return ret; } int f2(int n) { int ret = 0; while( n > 0 ) { ret += n; n--; } return ret; } int f3(int n) { int ret = 0; int i = 0; for(i=1; i<=n; i++) { ret += i; } return ret; } int main() { printf("%d\n", f1(100)); printf("%d\n", f2(100)); printf("%d\n", f3(100)); return 0; }
这段代码很简洁,可以自己稍微看一下,就当作复习
在循环中可以使用continue 和 break两种语句,联想到switch,里面的每一种case后面都要有一个break语句,那么我们可以在里面使用continue 语句吗?答案是不可以,编译会报错。
程序示例2:
#include <stdio.h> void f1(int n) { int i = 0; for(i=1; i<=n; i++) { if( (i % 2) == 0 ) { break; } printf("%d ", i); } printf("\n"); } void f2(int n) { int i = 0; for(i=1; i<=n; i++) { if( (i % 2) == 0 ) { continue; } printf("%d ", i); } printf("\n"); } int main() { f1(10); f2(10); return 0; }
这段代码也很简洁,可以看看权当作复习一下
程序示例3:
1 #include <stdio.h> 2 #include <malloc.h> 3 4 int func(int n) 5 { 6 int i = 0; 7 int ret = 0; 8 int* p = (int*)malloc(sizeof(int) * n); 9 10 do 11 { 12 if( NULL == p ) break; 13 14 if( n < 5 ) break; 15 16 if( n > 100) break; 17 18 for(i=0; i<n; i++) 19 { 20 p[i] = i; 21 printf("%d\n", p[i]); 22 } 23 24 ret = 1; 25 }while( 0 ); 26 27 printf("free(p)\n"); 28 29 free(p); 30 31 return ret; 32 } 33 34 int main() 35 { 36 if( func(10) ) 37 { 38 printf("OK\n"); 39 } 40 else 41 { 42 printf("ERROR\n"); 43 } 44 45 return 0; 46 }
通过29行代码我向扩展一下,可以free一个空指针。另外 野指针 ,空指针是由区别的,对于这个概念我会再写一个博客进行补充,毕竟和这一篇博客的主题不符,嘻嘻。
标签:continue bre clu 小结 condition 简洁 c语言 通过 func
原文地址:https://www.cnblogs.com/luojianyi/p/9215784.html