#CLPR1046. [结构体和共用体]世界上最好的语言
[结构体和共用体]世界上最好的语言
题目背景
php是世界上最好的语言,虽然这个题和php没有一点关系。
众所周知,动态类型的语言允许在一个变量里存放任何东西。
wapapapapoo认为动态类型十分方便,于是想在c语言中复刻一个动态类型的数组,但她在讲共用体时睡过去了。
她向知识渊博的你求助,请你实现一个能够存储多种数据的数组。
题目描述
如题,请先建立一个空数组,然后按照指令,将一些数据存入或读出。
输入格式
第一行输入一个正整数,代表指令的个数。
之后行,每行一个指令,指令的格式如下:
指令 | 作用 |
---|---|
MOV index | 移动到下标index处,初始位置为0 |
INSERT type value | 在当前位置的前面插入一个类型为type,值为value的元素 |
ECHO | 输出当前位置的值 |
TYPEOF | 输出当前位置的数据类型 |
需要支持的数据类型有:
type的名称 | c语言的类型 | 输入格式 |
---|---|---|
word | unsigned short | %hu |
dword | unsigned int | %u |
qword | unsigned long long | %llu |
uint8 | unsigned char | %u |
byte | %c |
输出格式
当遇到ECHO
和TYPEOF
指令时,输出数据。
TYPEOF
输出上表中type的名称。ECHO
时若为byte,则输出字符,若为其它,则输出一个十进制数。
样例
8
INSERT uint8 1
INSERT byte 3
MOV 1
INSERT word 2
MOV 0
ECHO
MOV 2
TYPEOF
1
byte
提示说明
,保证数据合法且位置不越界。