- 论坛徽章:
- 0
|
--
修改后的程序。希望楼主能认认真真地比较原始程序和改后程序的异同,然后自己尝试着得出一些结论。
方案 1:
- #include <stdio.h>
- int main()
- {
- char *Array[2];
- Array[0] = "FreeBSD";
- Array[1] = "Linux";
- printf("Array[0] = %s;\r\nArray[1] = %s;\r\n",Array[0],Array[1]);
- return 0;
- }
复制代码
方案 2:
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main()
- {
- char *Array[2];
- Array[0] = malloc(8); strcpy(Array[0], "FreeBSD");
- Array[1] = malloc(6); strcpy(Array[1], "Linux");
- printf("Array[0] = %s;\r\nArray[1] = %s;\r\n",Array[0],Array[1]);
- free(Array[0]);
- free(Array[1]);
- return 0;
- }
复制代码
附:改前程序
- int main()
- {
- char *Array = malloc(3 * sizeof(char));
- Array[0] = "FreeBSD";
- Array[1] = "Linux";
- printf("Array[0] = %s;\r\nArray[1] = %s;\r\n",Array[0],Array[1]);
- free(Array);
- return 0;
- }
复制代码 |
|