采用指针方法,输入字符串“student score”,在复制字符串后输出
时间: 2024-02-22 19:59:36 浏览: 24
好的,同样地,我们可以使用指针方法来实现字符串的复制和输出。下面是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char str1[] = "student score"; // 定义一个字符串数组
char *str2; // 定义一个指针
// 动态分配内存,用于存储复制后的字符串
str2 = (char*)malloc((strlen(str1) + 1) * sizeof(char));
if(str2 == NULL)
{
printf("内存分配失败!\n");
exit(1);
}
// 复制字符串
strcpy(str2, str1);
// 输出复制后的字符串
printf("复制后的字符串为:%s\n", str2);
// 释放内存
free(str2);
return 0;
}
```
在这个示例代码中,我们没有使用 `fgets()` 函数从标准输入读取字符串,而是直接定义了一个字符串数组 `str1`,并将其初始化为 "student score"。然后,我们使用 `malloc()` 函数动态分配内存,用于存储复制后的字符串,并将其地址赋给指针 `str2`。接着,我们使用 `strcpy()` 函数将原始字符串复制到新的内存空间中。最后,我们输出复制后的字符串,并使用 `free()` 函数释放内存。