5-C【strlen 字符串的长度】
1
2
3
4
5
6
7
| void reverse(char s[]) /* (char *s) */
{
int c, i, j;
for (i = 0, j = strlen(s)-1; i < j; i++, j--) {
c = s[i]; s[i] = s[j]; s[j] = c;
}
} |
void reverse(char s[]) /* (char *s) */
{
int c, i, j;
for (i = 0, j = strlen(s)-1; i < j; i++, j--) {
c = s[i]; s[i] = s[j]; s[j] = c;
}
}
5-D【字符串复制 strcpy】
1
2
3
4
5
6
7
| void reverse(int v[], int n)
{
int c, i, j;
for (i = 0, j = n-1; i < j; i++, j--) {
c = v[i]; v[i] = v[j]; v[j] = c;
}
} |
void reverse(int v[], int n)
{
int c, i, j;
for (i = 0, j = n-1; i < j; i++, j--) {
c = v[i]; v[i] = v[j]; v[j] = c;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| void itoa(int n, char s[]) /* -123 -> “-123” */
{
int i = 0, sign;
if ((sign = n) < 0)
n = -n;
do { /* get digits in reverse order */
s[i++] = n % 10 + '0';
} while ((n /= 10) > 0);
if (sign < 0)
s[i++] = '-';
s[i] = '\0';
reverse(s);
} |
void itoa(int n, char s[]) /* -123 -> “-123” */
{
int i = 0, sign;
if ((sign = n) < 0)
n = -n;
do { /* get digits in reverse order */
s[i++] = n % 10 + '0';
} while ((n /= 10) > 0);
if (sign < 0)
s[i++] = '-';
s[i] = '\0';
reverse(s);
}
5-E【字符串比较 strcmp】
1
2
3
4
5
6
7
8
9
10
| int trim(char s[])
{
int n;
for (n = strlen(s)-1; n >= 0; n--)
if (s[n] != ' ' && s[n] != '\t' && s[n] != '\n')
break;
s[n+1] = '\0';
return n; /* the length of s */
} |
int trim(char s[])
{
int n;
for (n = strlen(s)-1; n >= 0; n--)
if (s[n] != ' ' && s[n] != '\t' && s[n] != '\n')
break;
s[n+1] = '\0';
return n; /* the length of s */
}
1
2
3
4
5
6
7
| int strcmp(char *s, char *t)
{
for ( ; *s == *t ; s++, t++)
if (*s == '\0')
return 0;
return *s - *t;
} |
int strcmp(char *s, char *t)
{
for ( ; *s == *t ; s++, t++)
if (*s == '\0')
return 0;
return *s - *t;
}