A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 于鸿鹏 于 2015-11-5 11:33 编辑

写一个简易通讯录代码如下:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define LEN 3
  4. //1、先定义结构体
  5. struct person
  6. {
  7.         //定义姓名
  8.         char *name;
  9.         //保存号码
  10.         char *num;

  11. };
  12. int main ()
  13. {
  14. //2、定义结构体数组
  15. struct person contacts[LEN];

  16. //3、让用户输入要保存的联系人
  17. printf("请输入要保存的信息格式为:姓名,电话\n");
  18. int i;
  19. for (i = 0; i<LEN;i++)
  20. {
  21.         //接收键盘输入的值
  22.         scanf("%s %s",contacts[i].name,contacts[i].num);
  23. }

  24. int j;
  25. //4、保存后打印出查看
  26. for(j = 0; j < LEN; j++)
  27. {
  28.         printf("姓名:%s 电话 :%s",contacts[j].name,contacts[j].num);
  29. }

  30. return 0;
  31. }
复制代码
问题:在结构体中定义姓名、号码是字符串指针类型的(char *name;char *num),在从键盘上接收值得时候代码怎么写?
自己的做法是:scanf("%s %s",contacts.name,contacts.num); 但是运行结构只能输入一组姓名和号码 后就会出错
分别在Windows  和xcode上测试如下
在线求解:这个地方怎么弄?

}8PQVY[@EQE6~9QDMOG{_JX.png (48.37 KB, 下载次数: 4)

}8PQVY[@EQE6~9QDMOG{_JX.png

AP5MJI~FM)6@9UK%IHX[(XY.png (147.11 KB, 下载次数: 25)

AP5MJI~FM)6@9UK%IHX[(XY.png

1 个回复

倒序浏览
求助求助 求助
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马