Posted on 2007-07-08 21:05
ZelluX 阅读(495)
评论(2) 编辑 收藏 所属分类:
C/C++
很简短,有点trick的感觉,就像小学里写的那些(n-1) mod x + 1。进了大学后很少写类似风格的代码了,这些用在java项目中就要因为可读性被bs了。
1. 计算串长度 strlen(a)
for (i = 0; a[i] != 0; i++); return i;
2. 复制 strcpy(a, b)
for (i = 0; (a[i] = b[i]) != 0; i++);
3. 比较 strcmp(a, b)
for (i = 0; a[i] == b[i]; i++)
if (a[i] == 0) return 0;
return a[i] - b[i];
注意适用于不同长度的字符串
指针版本
1. strlen(a)
b = a; while (*b++); return b - a - 1;
2. strcpy(a, b)
while (*a++ = *b++);
3. strcmp(a, b)
while (*a++ = *b++)
if (*(a-1) == 0) return 0;
return *(a-1) - *(b-1);