|
Post by huangno1 on Mar 2, 2017 20:40:29 GMT -8
程式說明
練習定義結構型態與使用點運算子
#include <stdio.h>
#include <string.h>
// 定義結構資料型態 Student
// 每位 Student 含有姓名、性別、年齡和三個分數
struct Student
{
char name [ 21 ] = { '\0' }
; // 姓名最多 20 個字元,初始化為空字串
char gender = ' '
; // 性別初始化為空白字元
int age = 0
; // 年齡初始化為 0
int scores [ 3 ] = { 0 }
; // 分數陣列初始化全為 0
};
int main()
{
Student
allen; // 定義一個 Student 變數 allen
// 列印初始數值
printf("%s %c %d ",
allen.name
,
allen.gender
,
allen.age
);
for (int i=0; i<3; i+=1) { printf("%d ",
allen.scores [ i ]
); }
putchar('\n');
// 設定姓名為 Allen,性別為 M,年齡為 18,第一個分數為 100
strcpy ( allen.name , "Allen" ) ;
allen.gender = 'M' ;
allen.age = 18 ;
allen.scores [ 0 ] = 100 ;
// 再列印一次
printf ( "%s %c %d ", allen.name , allen.gender , allen.age ) ;
for ( int i = 0 ; i < 3 ; i += 1 )
{
printf ( "%d " , allen.scores [ i ] ) ;
}
putchar ( '\n' ) ;
// 由使用者依序輸入姓名、性別、年齡和三個分數
scanf("%s %c %d",
allen.name
,
&allen.gender
,
&allen.age
);
for (int i=0; i<3; i+=1) { scanf("%d",
&allen.scores [ i ]
); }
// 再列印一次
printf ( "%s %c %d ", allen.name , allen.gender , allen.age ) ;
for ( int i = 0 ; i < 3 ; i += 1 )
{
printf ( "%d " , allen.scores [ i ] ) ;
}
putchar ( '\n' ) ;
return 0;
}
|
|