- 主题:新手携码请教:如何能像数组下标一样寻找结构体的元素?
下面是一段错误的代码,错误在Ai那,这么写是想反印我的意图:依次打印出A1,A2,
A3的年纪。因为有几百人,一个一个去打印很麻烦,所以想像数组那样操作,请问有什
么简便的办法嘛?谢谢
#include <stdio.h>
#include <string.h>
struct A{char name[8];int age;};
int main()
{
struct A A1={"张三",18};
struct A A2={"李四",20};
struct A A3={"王五",22};
void print_age(struct A x)
{
printf("%d",x.age);
}
int i;
for (i=1;i<4;i++)
{
print_age(Ai);
printf("\n");
}
return 0;
}
--
FROM 111.193.239.*
估计关键问题是字符串如何转变为变量名
【 在 sqsl 的大作中提到: 】
: 下面是一段错误的代码,错误在Ai那,这么写是想反印我的意图:依次打印出A1,A2,
: A3的年纪。因为有几百人,一个一个去打印很麻烦,所以想像数组那样操作,请问有什
: 么简便的办法嘛?谢谢
: ...................
--
FROM 111.193.239.*
用宏有机会
如果以解决问题为目的,那应该修改的是数据结构的设计
别用那么多变量,
如果你想研究这个技术,那等高手回答吧
【 在 sqsl 的大作中提到: 】
: 下面是一段错误的代码,错误在Ai那,这么写是想反印我的意图:依次打印出A1,A2,
: A3的年纪。因为有几百人,一个一个去打印很麻烦,所以想像数组那样操作,请问有什
: 么简便的办法嘛?谢谢
: ...................
--
修改:slowaction FROM 111.31.180.*
FROM 111.31.180.*
宏是typedefine嘛?
【 在 slowaction 的大作中提到: 】
: 用宏有机会
: 如果以解决问题为目的,那应该修改的是数据结构的设计
: 别用那么多变量,
: ...................
--
FROM 111.193.239.*
典型的 X-Y 问题。
【 在 sqsl 的大作中提到: 】
: 下面是一段错误的代码,错误在Ai那,这么写是想反印我的意图:依次打印出A1,A2,
: A3的年纪。因为有几百人,一个一个去打印很麻烦,所以想像数组那样操作,请问有什
: 么简便的办法嘛?谢谢
: ...................
--
FROM 163.125.197.*
查了一下,好像用结构体数组就可以解决我的问题
【 在 flw 的大作中提到: 】
: 典型的 X-Y 问题。
--
FROM 111.193.239.*
你自己的回答是正确的。
先考虑如何组织数据,再考虑如果访问数据。
【 在 sqsl 的大作中提到: 】
: 查了一下,好像用结构体数组就可以解决我的问题
:
--
FROM 218.241.231.*
这还要想?
结构体数组啊
难道是我理解错了问题?
【 在 sqsl 的大作中提到: 】
: 下面是一段错误的代码,错误在Ai那,这么写是想反印我的意图:依次打印出A1,A2,
: A3的年纪。因为有几百人,一个一个去打印很麻烦,所以想像数组那样操作,请问有什
: 么简便的办法嘛?谢谢
: ...................
--
FROM 113.132.222.*
你是对的
【 在 jlynnc 的大作中提到: 】
: 这还要想?
: 结构体数组啊
: 难道是我理解错了问题?
: ...................
--
FROM 111.193.239.*
针对你的代码,来个hack的方法呵呵
struct A *p = &A3;
for (int i = 0; i < 3; i++) print_age(p[i]);
【 在 sqsl 的大作中提到: 】
: 下面是一段错误的代码,错误在Ai那,这么写是想反印我的意图:依次打印出A1,A2,
: A3的年纪。因为有几百人,一个一个去打印很麻烦,所以想像数组那样操作,请问有什
: 么简便的办法嘛?谢谢
:
: #include <stdio.h>
:
: #include <stri
: ..................
--
修改:Octane FROM 114.92.95.*
FROM 114.92.95.*