|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <string.h>
#define MAX 1024
int main()
{
char str1[MAX];
char str2[MAX];
char *target1 = str1;
char *target2 = str2;
printf("请输入一个字符串到 str1 中:");
fget(str1,MAX,stdin);
printf("%s\n",str1);
strcpy(str2[MAX],str1[MAX]);
printf("%s",str2);
return 0;
}
你的程序有一些问题,下面是修复后的代码:
#include <stdio.h>
#include <string.h>
#define MAX 1024
int main()
{
char str1[MAX];
char str2[MAX];
printf("请输入一个字符串到 str1 中:");
fgets(str1, MAX, stdin);
printf("%s\n", str1);
// 使用 strcpy,不需要提供数组下标
strcpy(str2, str1);
printf("%s", str2);
return 0;
}
问题与修改如下:
1. 代码中使用的函数名是 `fget`,正确的函数名应该是 `fgets`。
2. 在调用 `strcpy` 时,应直接使用数组名而不是带有下标的数组名。使用 `strcpy(str2, str1)` 而不是 `strcpy(str2[MAX], str1[MAX])`。
3. 你的原代码中定义了 `char *target1 = str1;` 和 `char *target2 = str2;`,但在程序中并未使用这两个指针,因此我将它们删除了。如果你打算使用它们,请确保在代码中正确使用。
|
|