|
发表于 2023-10-20 16:43:37
|
显示全部楼层
为什么我这个str3打印的是be be
- #include <stdio.h>
- #include <string.h>
- int main()
- {
- char str1[] = "To be or not to be";
- char str2[40];
- char str3[40];
- char str4[3];
- strncpy(str2, str1, sizeof(str2));
- strncpy(str3, str2, 5);
- str3[5] = '\0';
- strncpy(str4, str1, 5);
- printf("str1:%s--%d\n", str1, strlen(str1));
- printf("str2:%s--%d\n", str2, strlen(str2));
- printf("str3:%s--%d\n", str3, strlen(str3));
- printf("str4:%s--%d\n", str4, strlen(str4));
- return 0;
- }
复制代码
str1:To be or not to be--18
str2:To be or not to be--18
str3:be be--5
str4:To be be--8 |
|