【发布时间】:2014-01-21 22:16:38
【问题描述】:
我无法打印字符串。需要一些关于我做错了什么的帮助,以及在这些情况下最好的方法的一些见解。
#include<stdio.h>
#include<string.h>
void getName(char *name);
int main()
{
char name[256];
getName(name);
printf("Name = %s\n", name);
return 0;
}
void getName(char *name)
{
char line[256];
printf("Please enter your name! \n");
gets(line);
name = (char *) malloc(strlen(line));
strcpy(name, line);
}
【问题讨论】:
-
您正在通过 malloc 返回的内容覆盖您传递的指针,因此复制到必杀技....在您的情况下,只需直接复制到名称而不使用 malloc