有我朋友的代码,我正在看。这是一个使用字符串函数的简单示例,我觉得这并不简单。问题是第(5)部分。
这是代码。
#include <stdio.h>
#include <string.h>
void reverse(char *str1, char *str2) {
str1 = strrev(str2);
printf("%s\n\n", str1); //**It's a test.**
}
int main() {
char str1[100];
char str2[100];
char str3[100];
char str4[100];
char temp[100];
int len1, len2, len3, len4;
//(1) use scanf()
printf("(1) str1 : ");
scanf("%s", &str1);
printf(" str2 : ");
scanf("%s", &str2);
//(2) exchange, print()
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
printf("(2) str1=%s str2=%s\n", str1, str2);
printf("len1=%d len2=%d\n", strlen(str1), strlen(str2));
//(3) copy, print()
strcpy(str3, str2);
printf("(3) str3=%s\n", str3);
//(4) strcat()
strcat(str3, " ");
strcat(str3, str1);
strcat(str3, " My name is Elsa");
printf("(4) str3=%s\n", str3);
printf("len3=%d\n", strlen(str3));
//(5) reverse(str4, str3), print str4
reverse(str4, str3);
printf("(5) str4=%s\n", str4); //**I don't know here**
printf("len4=%d\n", strlen(str4));
return 0;
}
这就是结果。
为什么会有垃圾值?