标签:代码简化
一:“++”,“--”运算放在判断等语句中直接使用会减少代码长度: 例1: 下面的squeeze(s,c)函数,它删除字符串s中出现是所有字符c: void squeeze(char s[],int c) { int i,j; for(i=j=0;s[i] != ‘\0‘;i++) { if(s[i] != c) { s[j++] = s[i]; } } s[j] = ‘\0‘; }
其中的if语句是由下面的if语句简化而来: if(s[i] != c) { s[j] = s[i]; j++; }
例2: strcat(s,t)函数是把字符串t连接到字符串s的尾部: void strcat(char s[],char t[]) { int i = 0, j = 0; while(s[i] != ‘\0‘) { i++; } while((s[i++] = t[j++]) != ‘\0‘) { ; } } while语句中即进行了自增运算,又进行了赋值运算,还进行了判断运算。 二:语句1?语句2:语句3 的应用: 例如下面的循环语句将打印一个数组的n个元素,每行打印10个元素,每列之间用一个空格隔开,每行用一个换行符结束: for(i=0;i<n;i++) { printf("%6d%c",a[i],(i%10 == 9 || i == n-1)?‘\n‘:‘ ‘); }
三:用宏定义#define: #define MAX(a,b) ((a)>(b)?(a):(b)); #define MIN(a,b) ((a)<(b)?(a):(b)); 这样就不用用函数去实现MAX,MIN了,减少了调用函数而占用的cpu,从而减少了程序运行的时间。 四:在 return 中进行运算 , 而不在函数主体中额外加代码,使代码看上去更简单!例子就不用了哈。
本文出自 “水仙花” 博客,请务必保留此出处http://10704527.blog.51cto.com/10694527/1704937
标签:代码简化
原文地址:http://10704527.blog.51cto.com/10694527/1704937