练习12-1
/*---编写显示对象takao各成员地址的程序。---*/
#include <stdio.h>
#define NAME_LEN 64
struct student {
char name[NAME_LEN];
int height;
float weight;
long schols;
};
int main (void)
{
struct student takao = {"Takao", 173, 86.2};
printf("姓名 = %p\n", &takao.name);
printf("姓名 = %d\n", &takao.name);
printf("身高 = %d\n", &takao.height);
printf("体重 = %d\n", &takao.weight);
printf("奖学金 = %d\n", &takao.schols);
return 0;
}
练习12-2
/*---改写程序,声明时不为其赋初始值,而且各成员的值从键盘输入。---*/
#include <stdio.h>
#define NAME_LEN 64
typedef struct student {
char name[NAME_LEN];
int height;
float weight;
long schols;
} Student;
void hiroko (Student *std)
{
if (std->height < 180) std->height = 180;
if (std->weight > 80) std->weight = 80;
}
int main(void)
{
Student sanaka;
scanf("%s %d %f %ld", &sanaka.name, &sanaka.height, &sanaka.weight, &sanaka.schols);
printf("姓名 = %s\n身高 = %d\n体重 = %.1f\n奖学金 = %ld\n", sanaka.name, sanaka.height, sanaka.weight, sanaka.schols);
return 0;
}
练习12-3
/*---从键盘输入int型,long型和double型的值,将这些值作为xyz结构体的成员,返回该结构体的值。---*/
#include <stdio.h>
struct xyz