Compare commits
2 Commits
2d127ac61a
...
a8a3cbe224
Author | SHA1 | Date |
---|---|---|
Flinner Yuu | a8a3cbe224 | |
Flinner Yuu | 8559d002a2 |
|
@ -0,0 +1 @@
|
||||||
|
*.out
|
|
@ -0,0 +1,35 @@
|
||||||
|
/* Exercise 5-3. Write a pointer version of the function strcat that we showed
|
||||||
|
* in Chapter 2: strcat(s,t) copies the string t to the end of s. */
|
||||||
|
|
||||||
|
#include <ctype.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// version 1
|
||||||
|
void my_strcat1(char *s, char *t) {
|
||||||
|
while (*s)
|
||||||
|
s++; // go to end of s
|
||||||
|
|
||||||
|
while ((*s = *t) != '\0') {
|
||||||
|
s++;
|
||||||
|
t++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// version 2
|
||||||
|
void my_strcat2(char *s, char *t) {
|
||||||
|
while (*s)
|
||||||
|
s++; // go to end of s
|
||||||
|
while ((*s++ = *t++))
|
||||||
|
; // then copy
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
char s[50] = "Hello, ";
|
||||||
|
char t[] = "world!";
|
||||||
|
|
||||||
|
my_strcat2(s, t);
|
||||||
|
|
||||||
|
printf("%s\n", s);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue