Compare commits
No commits in common. "a8a3cbe224c60f1602c095f6bb15e320f9f4c498" and "2d127ac61a49c246cb0c218f0ea51d5df5cfad8a" have entirely different histories.
a8a3cbe224
...
2d127ac61a
|
@ -1 +0,0 @@
|
||||||
*.out
|
|
|
@ -1,35 +0,0 @@
|
||||||
/* 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