写一个函数直接访问结构体的成员变量就好了的!
还有就是,你的经度纬度两个成员变量的名字一样了。
城市名那个成员,建议用数组,因为城市名一般不会是只有一个字符,而是多个字符。
struct information
{
//char cityname;//城市名字
char cityname[10];
int number; //城市编号
int longitude; //经度
int latitude; //纬度
}information1;
struct information i;//结构体information的名字也为i
void test7()
{
//printf("城市名称:%c\n",i.cityname);
printf("城市名称:%s\n", i.cityname);
printf("城市编号:%d\n", i.number);
printf("城市经度:%d\n", i.longitude);
printf("城市纬度:%d\n", i.latitude);
}
//测试代码
#include <stdio.h>
#include <string.h>
typedef struct __CITYDATA {
char cityname[10];//城市名字
int number; //城市编号
int longitude; //经度
int latitude; //纬度
}CITYDATA;
CITYDATA cityData[5];//定义结构体变量
void print(CITYDATA p[5],int num)
{
int i = 0;//定义数组a的下标
printf("\n\n城市名称\t\t城市编号\t\t城市经度\t\t城市纬度\n");
for(i = 0;i < num;i++)
{
printf("%s\t\t\t%d\t\t\t%d\t\t\t%d",p[i].cityname,p[i].number,p[i].longitude,p[i].latitude);
printf("\n");
}
}
int main()
{
int n = 0;//定义城市数量
int i = 0;//cityname数组的下标
printf("输入城市数量:");
scanf_s("%d",&n);
if (n > 5)
n = 5;
for(i = 0;i < n;++i)
{
printf("\n输入第%d个城市名称:", i + 1);
scanf("%s",cityData[i].cityname);
printf("\n输入第%d个城市编号:", i + 1);
scanf_s("%d", &cityData[i].number);
printf("\n输入第%d个城市经度:", i + 1);
scanf_s("%d", &cityData[i].longitude);
printf("\n输入第%d个城市纬度:", i + 1);
scanf_s("%d", &cityData[i].latitude);
}
print(cityData,n);
return 0;
}