本帖最后由 于鸿鹏 于 2015-11-5 11:33 编辑
写一个简易通讯录代码如下:
- #include <stdio.h>
- #include <stdlib.h>
- #define LEN 3
- //1、先定义结构体
- struct person
- {
- //定义姓名
- char *name;
- //保存号码
- char *num;
- };
- int main ()
- {
- //2、定义结构体数组
- struct person contacts[LEN];
- //3、让用户输入要保存的联系人
- printf("请输入要保存的信息格式为:姓名,电话\n");
- int i;
- for (i = 0; i<LEN;i++)
- {
- //接收键盘输入的值
- scanf("%s %s",contacts[i].name,contacts[i].num);
- }
- int j;
- //4、保存后打印出查看
- for(j = 0; j < LEN; j++)
- {
- printf("姓名:%s 电话 :%s",contacts[j].name,contacts[j].num);
- }
- return 0;
- }
复制代码 问题:在结构体中定义姓名、号码是字符串指针类型的(char *name;char *num),在从键盘上接收值得时候代码怎么写?
自己的做法是:scanf("%s %s",contacts.name,contacts.num); 但是运行结构只能输入一组姓名和号码 后就会出错
分别在Windows 和xcode上测试如下
在线求解:这个地方怎么弄?
|
|