C语言怎样打印字符数组

四更山吐月 2009-06-11 01:38:57
我写了一个结构体,里面有一个变量:char name【20】;

我如何把这个name打印出来啊?

加入结构体对象为a。

printf("%s",a.name);

这样出来的是乱码啊。
...全文
943 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bx8840668 2011-09-08
  • 打赏
  • 举报
回复
ding~~
diablox0147 2009-06-11
  • 打赏
  • 举报
回复
同意LS的,tempName本来就是一个地址。
brookmill 2009-06-11
  • 打赏
  • 举报
回复
scanf("%s",a.name);
printf("%s",a.name);
brookmill 2009-06-11
  • 打赏
  • 举报
回复
scanf("%s",tempName);
%d改成%s,去掉&
四更山吐月 2009-06-11
  • 打赏
  • 举报
回复
char tempName[20];
scanf("%d",&tempName);
printf("%s",tempName);

我这样写,打印出来的也是乱码。
pathuang68 2009-06-11
  • 打赏
  • 举报
回复
如果结构体定义没有问题的话,那么楼主应该没有给name赋过值,我才你可能是这样子的代码:

struct Person
{
char name[20];
};

int main(void)
{
struct Person a;
printf("%s\n", a.name);

return 0;
}

因为a.name没有被赋值过,所以肯定就是乱码了。
如果改成下面这样,就没有问题了:


struct Person
{
char name[20];
};

int main(void)
{
struct Person a;
strcpy(a.name, "Hello"); // 在此给那么赋值 --- 增加了这一行
printf("%s\n", a.name);

return 0;
}
pathuang68 2009-06-11
  • 打赏
  • 举报
回复
把你定义结构的代码贴出来看看,我觉得你的结构体定义有问题。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧